一、用户和组的分类
1)组的分类:用户级的组,由系统管理员在系统运行后增加,目的是将需要共享相同文件信息的用户放在一组里。系统管理组,具有管理系统权力的用户就属于一组,即系统管理组,超级系统管理员root就属于system组,也可以定义一些用户到system组,是他具有某些系统的管理权限,但他并不一定是root用户。系统预定义组,系统安装好以后。就默认存在的组,一般这些组都是用来完成特定的功能。
2)用户的分类:root用户、管理型用户和组、普通用户和组。对于管理型用户和组,只有root用户可以增加、删除和修改他们,属于security组的用户没有权利管理他们,因此可以建立一个管理型用户和组,来防止被security组的用户管理。
管理型用户的定义在/etc/security/user文件中实现,在该文件中,每一个用户都有一组控制设置,其中有一个域是admin,它就是确定该用户是否为管理型用户,将它的值设置为TRUE的时候,则该用于为管理型用户。
二、配置文件
/etc/motd文件:用户每次登陆系统时候,显示的一些通知信息,如果不想让用户登录时看到这些信息,可在用户的HOME目录下创建一个.hushlogin文件,该文件必须由root用户创建。
用户—— /etc/passwd文件中存放用户名和用户ID;/etc/security/passwd文件中,存放用户密码;/etc/security/user文件中存放用户扩展属性;系统安装完成之后就存在的系统默认用户有:root、daemon、bin、adm、sys、uucp、guest、nobody、lpd。
组——/etc/group文件存放组名和组ID和一些基本的组的属性;/etc/security/group文件中存放组的扩展属性。系统安装完成之后就存在的一些系统默认组有:system、staff、bin、security、sys、adm、mail、corn、audit、printq、shutdown等。
创建账户——/etc/lib/security/mkuser.default文件存放新创建的用户默认的属性值;/etc/security/login.cfg存放控制用户登录系统和身份验证配置;
用户登陆——/etc/security/environ存放用户进入系统后的工作环境配置;/etc/security/limits文件用来限制用户使用系统资源;/etc/security/lastlog记录上次登录系统情况的文件。
三、密码修改注意事项
如果root用户修改了某个用户的密码,或者security组的用户用pwdadm修改了某个用户的密码,则在/etc/security/passwd文件中,该用户里的flags的值就变成了ADMCHG,他要求用户必须修改自己的密码,否则该用户在下次登录系统或用su切换该用户的时候,会强制要求用户修改密码。
当root用户在/etc/security/passwd文件中把某个用户的flags值变成ADMIN的时候,只有root用户可以修改该用户的密码,security组的用户也无权修改该用户密码。
如果某个用户在/etc/passwd文件中的password字段的值是(*),或者是在/etc/passwd文件中的password字段的值是(!),并且在/etc/security/passwd文件中的password属性是(*),则该用户的密码必须由root用户修改或者由security组的用户用pwdadm命令修改。
用户密码的限制属性存放在/etc/security/user文件中,在修改用户密码的时候会受到这些限制条件的约束。只有root用户可以修改任何用密码而不受到这些限制。然后,当某个用户在/etc/security/passwd文件中的flags属性值呗设置为NOCHECK时候,则对该用户密码的修改将不受到这些限制的约束。
显示和修改用户密码属性:
#smitty passwdattrs
四、清除root用户密码
1)AIX第一张安装介质放到磁带机或者是光驱
2)按数字键5进入维护模式,出现下图:
3)选择3,进入下图 :
4)选择1,按enter进入下图:
5)确定,就选择0,按enter,进入下图:
6)因为rootvg包含着引导逻辑卷hd5,所以才能引导系统,如果某个VG包含hd5,则它不能引导系统,因此在第5步中,需要选择一个VG,按enter,看看这个VG是否包含hd5,当选择一个vg,按enter以后,就会进入下图:
7)发现这个VG有hd5,那这个就是rootvg,进入rootvg有两个方法:选择“1”,进入和激活rootvg,并且安装root卷组上的文件系统,接着运行一个shell并给出shell提示符#;选择“2”,也可以进入和激活rootvg,与“1”不同,在安装rootvg上的文件系统之前,就运行一个shell并给出提示符#。这里选择“1”
8)单用户模式下,用export设置TERM环境变量(VT100)
9)#vi /etc/security/passwd,然后删除root用户节中的password字段的值,变为“password= ”(使password值为空),保存退出
10)#sync;sync
11)#shutdown -Fr
五、用户登录过程概述
1)init进程在一个终端上启动gettty进程
2)根据文件/etc/security/login.cfg文件的设置调用login程序,显示“login:”提示符
3)输入用户名,密码
4)如果密码不正确,则在文件/etc/security/failedlogin中登记一个失败记录,并显示用户名或密码不正确,提示用户重新输入。
5)如果输入密码正确,则按照文件/etc/security/environ,/etc/security/limits,/etc/security/user的内容设置用户环境
6)检查$HOME/.hushlogin文件是否存在,如果不存在,就显示/etc/motd文件内容,然后启动初始shell程序,如果存在,则不显示/etc/motd文件内容,直接显示初始shell程序。
7)最后根据/etc/profile,/etc/enviroment,$HOMT/.profile的内容简历用户个人环境,并显示#或者$或者%提示符
8)用户使用exit或logout或者^d退出系统,init进程在终端上再次启动一个getty进程。
用户登录shell依次执行/etc/profile,/etc/enviroment,$HOMT/.profile文件,建立该用户所有的环境变量,修改/etc/enviroment或/etc/profile文件将会改变每个用户在登录时的环境设置,如果只想对某个用户的环境做进一步的设置,可以再该用户的主目录下,编辑.profile文件或者是.cshrc文件。
六、环境变量
环境变量是shell的任何子进程都需要使用的变量,用户在$HOME/.profile中定义。也可以在命令行直接临时改变环境变量。要使环境变量在用户环境中生效,需要用export命令
1)将环境变量传给当前环境
#PATH=/bin:/etc:/usr/bin
#export PATH
2)一次改变多个环境变量
#export PATH=/bin:/etc:/usr/bin LOGNAME=allen HOME=/usr/$LOGNAME
七、系统的日志文件
1)/var/adm/sulog ---->记录每次执行su命令的日志。该文件可以用pg、more、cat命令查看
2)/var/adm/wtmp ---->当用户成功登陆以后,在该文件中写一条记录。/var/adm/wtmp包括进入和退出系统的所有用户,以及用户在系统中持续的时间,用户进入系统的终端或远程主机。该文件可以用who、last命令查看。
3)/etc/utmp ---->当用户成功登陆系统后,在该文件中写入一条记录。/etc/utmp只包含进入系统的用户记录。一般用who命令查看。
4)/etc/security/failedlogin ---->记录每次失败登录系统的情况。用who命令查看。
八、命令说明
#chuser Attribute=Value Attribute=Value NAME
Chuser命令是使用用户修改某个或某几个属性的值,其中Name就是指的是用户名,使用前必须保证用户名存在。Attribute指属性,这些属性包含在下边的文件里:
/etc/passwd、/etc/security/environ、/etc/sucurity/limits、/etc/security/user、/etc/security/user.roles、/etc/security/audit/config、/etc/group、/etc/security/group