deadman
作者deadman·2011-01-31 15:55
·

AIX系统的用户管理/组管理以及碰到的几个问题

字数 6214阅读 8982评论 1赞 2

为了在AIX上面装个DB2的系统不得不去看一下AIX的用户管理命令。


=====================
碰到问题1.   mkuser 不成功 ,报错cp /home/db2inst1/.profile: The file access permissions do not allow the specified action.

可以知道错误是 /usr/lib/security/mkuser.sys 里面打印出来的。
查看/usr/lib/security/mkuser.sys 可以知道cp命令执行失败了。
j几经周折才发现原来是/home目录不能写入,应该是mount过来的readonly的,所以我的命令“mkuser pgrp=db2iadm1 groups=db2iadm1 home=/home/db2inst1 db2inst1”老是不成功,把home路径指定可写的文件系统 ,用
/mkuser pgrp=db2iadm1 groups=db2iadm1 home=/home_db2inst1 db2inst1   命令来创建就可以成功创建用户了,然后用password命令给用户指定密码就可以了。

mkuser pgrp=db2iadm1 groups=db2iadm1 home=/home/db2inst1 db2inst1
cp: /home/db2inst1/.profile: The file access permissions do not allow the specified action.
chmod: /home/db2inst1/.profile: A file or directory in the path name does not exist.
chgrp: /home/db2inst1/.profile: A file or directory in the path name does not exist.
chown: /home/db2inst1/.profile: A file or directory in the path name does not exist.
3004-721 Could not create user.
3004-703 Check "/usr/lib/security/mkuser.sys" file.
---------------
devaix110 #ls -l / |grep home
dr-xr-xr-x    2 root     system            2 Sep 15 05:59 home
----------------
devaix110 #chmod +w /home
chmod: /home: The system call does not exist on this system.

----------------
mkuser id=1004 pgrp=db2iadm1 groups=db2iadm1 home=/home/db2inst1
db2inst1

mount
-------------------------------------
mkuser pgrp=db2iadm1 groups=db2iadm1 home=/home_db2inst1 db2inst1

----------------
devaix110 #passwd db2inst1
Changing password for "db2inst1"
db2inst1's New password:
Enter the new password again:


============================
问题二,删除用户失败。 原因是用户的 registry=NIS属性,因为之前的创建问题,用户的属性被设置为用NIS来保存信息了,资料保存在网络上的了,rmuser和chuser等不能修改删除这种用户。
解决办法:在/etc/security/passwd 文件中把对应用户的registry=NIS去掉,或者改为registry = files .然后lsuser -f username来检查一下用户的属性是不是被改过来了,然后在用rmuser删除即可。

lsuser -f db2inst1
db2inst1:
        id=206
        pgrp=db2iadm1
        groups=db2iadm1
        home=/home_db2inst1
        shell=/usr/bin/ksh
        login=true
        su=true
        rlogin=true
        daemon=true
        admin=false
        sugroups=ALL
        admgroups=
        tpath=nosak
        ttys=ALL
        expires=0
        auth1=SYSTEM
        auth2=NONE
        umask=22
        registry=files
        SYSTEM=compat
        logintimes=
        loginretries=0
        pwdwarntime=0
        account_locked=false
        minage=0
        maxage=0
        maxexpired=-1
        minalpha=0
        minother=0
        mindiff=0
        maxrepeats=8
        minlen=0
        histexpire=0
        histsize=0
        pwdchecks=
        dictionlist=
        default_roles=
        fsize=2097151
        cpu=-1
        data=262144
        stack=65536
        core=2097151
        rss=65536
        nofiles=2000
        roles=

=====================================

另附网络转载过来的 AIX用户管理命令


对于每个AIX系统的用户来说都有一个用户名、用户ID和密码,在系统安装完成以后,就已经存在好多用户,这些是系统的默认用户,他们是root、 daemon、bin、sys、adm、uucp、guest、nobody,但除了root,其它用户都不能登录;新用户必须有root用户或者 security组的用户创建,然后才能登录。和其他unix系统的相同的是,用户名和用户ID存放在/etc/passwd文件中,和其他unix系统不同的是,AIX的用户密码存放在/etc/security/passwd中,扩展属性存放在/etc/security/user。AIX将用户分成 root用户、管理型用户、普通用户和组用户。
对于AIX来说,用户管理的相关文件如下:
/etc/passwd    系统所有用户的清单文件,存放用户的基本信息
/etc/security/passwd   存放所有用户的密码文件
/etc/security/user   存放用户的扩展信息文件
/etc/group    系统中所有组的清单文件,存放组的清单信息
/etc/security/group   存放组的扩展信息文件
/usr/lib/security/mkuser.default 存放新创建用户默认属性的默认值文件
/etc/security/login.cfg   存放控制用户登录系统和身份验证配置的文件
/etc/security/environ   存放用户进入系统后的工作环境配置文件
/etc/security/limits   限制用户使用系统资源的配置文件
/etc/security/lastlog   记录上次登录系统情况的文件
    操作用户的命令:
mkuser/useradd/smit user 添加一个用户;一般有root用户或者security组的用户来执行。创建一个新用户时,mkuser命令就会调用/usr/lib/security /mkuser.sys程序文件(一个shell程序    文件),这个文件为新用户在HOME下创建一个初始目录。同时为新用户建立一个.profile文件。此文件为一shell脚本,所以用户可以修改它,来满足在用户创建时    要求的特殊功能。创建用户的.profile文件从默认的.profile文件中来默认的.profile文件是/etc/security /.profile。
rmuser/userdel 删除一个用户;一般有root用户或者security组的用户来执行
passwd 修改用户的密码
ulimit root用户可以设置和显示对用户的一些限制的值
lsuser 查看所有用户。all参数显示所有用户的命令。
chuser 修改用户的某个或某几个属性,对用户加锁或解锁,如:chuser account_locked=TURE username .
chsh    修改用户登录的shell。
chsec   修改用户的安全属性。
AIX的组:
同一组的用户对属于该组的文件有同样的权限。创建用户时,要确定他属于哪一个组,必须保证这个组存在。
组的管理主要包括创建组、修改组的属性和删除组。一下是一些常用的对组操作的命令(当然通过smit group也可以):
mkgroup   创建组,组名必须唯一,并且不能为all、default等关键字。
lsgroup   显示所有的组及其属性,也可以显示几个组以及其属性。
chgroup   修改某个组的属性。
rmgroup   删除组


另外一些UNIX系统下常用 的用户命令
last 显示从上次清理该文件好到现在所有进入系统的用户记录。
who   查看登录到此系统的用户(linux下用户w命令)

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

2

添加新评论1 条评论

tiantomtiantom技术经理****有限公司
2011-03-22 22:50
学习了,谢谢
Ctrl+Enter 发表

作者其他文章

  • 每天一罐啤酒可防ED
    评论 0 · 赞 0
  • 记一次数据库恢复步骤
    评论 0 · 赞 0
  • Rexx 与 AIX
    评论 0 · 赞 0
  • Oracle 9i在AIX上的性能调整 -- 内存篇
    评论 0 · 赞 0
  • s
    评论 0 · 赞 0
  • 相关文章

    相关问题

    相关资料

    X社区推广