1AIX用户组管理V1.0修订记录日期文档版本号说明作者2015.6.08V1.0建立文档郭晓辉目录1用户..................................................................................................................21.1分类..................................................................................................................21.2用户管理相关的文件......................................................................................21.2.1/etc/passwd文件................................................................................31.2.2/etc/group文件..................................................................................41.2.3/etc/security/passwd文件..................................................................41.2.4/etc/security/user文件.......................................................................61.2.5/etc/security/group文件...................................................................102组....................................................................................................................112.1组的分类........................................................................................................113结束................................................................................................................112由于发现有人主动更改AIX系统中/etc/security/user文件,导致系统登录报错,所以写这篇文档,讲解一下AIX系统用户和组的管理以及要注意的问题。1用户系统中每一个用户都有一个用户名,用户ID(简称UID)和密码。用户名和用户ID号都是用来标识用户的唯一性。用户名绝对不能有相同的,与之对应的用户ID也就不能有相同的。1.1分类由于security组中的用户可以具有增加删除用户、组等权限,所以为了防止属于security组的用户能够修改、删除一些重要的用户组,AIX将用户分为root用户、管理型用户和组、普通用户和组三层用户,通过这个分层机制可以更好的控制系统的权限。在这3层中,处于最上层的是root用户,它的权利最大,可以管理系统中的任何用户,处于中层的是管理型用户和组,它可以完成系统中层的管理工作,处于最低层的是普通用户和组,它们没有任何管理权限。如下图所示:对于管理型用户和组,只有root用户可以增加、删除和修改它们,属于security组的用户没有权利管理它们,因此可以建立一个管理型用户或组,来防止被security组的用户管理。管理型用户的定义在/etc/security/user文件中实现,在该文件中,每一个用户都有一组控制设置,其中有一个域是admin,它就是该用户是否为管理型用户,将它的值设置为TRUE时,则该用户就是管理型用户。1.2用户管理相关的文件/etc/security/failedlogin记录所有不成功的登录尝试,使用who命令查看/etc/passwd文件包含有合法用户列表,包括用户id、主用户组、宿主目录、默认登录shell等;/etc/group文件包含合法用户组列表,包括用户组id和成员用户名;/etc/security/passwd文件含有加密形式的用户口令和口令更新信息;/etc/security/user文件含有用户属性信息;3/etc/security/group文件含有用户组属性;/etc/security/limits文件含有对用户的进程资源限制值;/etc/security/environ文件含有用户的环境变量,不过这个文件很少用到;/etc/security/login.cfg文件含有对登录程序的配置信息,录入对某个端口的登录限制;/usr/lib/security/mkuser.default新用户的默认设置存放文件对于以上几个文件,重点介绍一下其中5个文件1.2.1/etc/passwd文件用户有用户名和用户ID,对于用户来说,用户名和UID必须一一对应,为了实现这个对应关系,系统运用/etc/passwd文件完成这个映射功能。该文件还包含了系统中所有用户的基本信息。它是一个ASCII编码的文本文件,一个用户是一条记录,每条用户记录包含该用户的基本属性,各属性之间用冒号(:)f分隔开来。下面用ls–l/etc/passwd命令列出该文件的结果:#ls–l/etc/passwd-rw-r--r--1rootsecurity333Aug1808:52passwd当系统管理员增加或者删除用户时,就会更新该文件,下面是该文件内容的一个样本:此文件的记录格式是Name:Password:UserID:PrincipleGroupID:FullName:HomeDirectory:Shell注意:用户记录中每个字段的值中不能包含冒号(:)。如果要删除或添加用户,可调用命令操作,不要随便编辑此文件,防止误删。从上面显示的/etc/passwd文件内容中可以看出,超级用户root的UID是0,其他由系统预定义用户的UID是从1开始编号,由系统管理员后来增加的用户ID是从200开始的,所以以后要分配的UID都是大于200的正整数。Passwd用户密码标志位,这里只能是一个!或者*,“!”表示用户的密码存放在/etc/security/passwd文件中,“*”表示用户的密码是非法。通常情况下,这一位是“!”。当这一位是“*”时,该用户不能登录系统,必须用passwd命令设置密码。还有这一位中没有任何值时,表示没有分配密码。41.2.2/etc/group文件用户被分为许多组,通过组可以管理一组用户,而组的定义存放在/etc/group文件中,用/etc/group文件可以成组的控制用户对文件系统和系统的资源的访问。每一个组有一个唯一的组名和组ID(GID),一个用户可以成为多个或者一个组的成员,同组的成员可以共享。本组的资源,并且可以通过/etc/group文件和/etc/security/group文件控制它们对资源的访问。在/etc/group文件中记录着每个组的基本信息,包括组名、GID和该组的成员等信息,该文件是一个ASCII编码的文件,每一行记录着一个组的信息,也就是说一组,一条记录,下面所列的是该文件的内容的一个样本。下面是组记录的格式:Gname:Password:GID:User1,User2,…,Usern第一段Gname是组名,第二段Password,第三段GID是组的标识,第四段User1,User2,…,Usern表示属于该的所有用户名,用户名之间用逗号隔开任何用户可以读取该文件,但是没有该文件的写权限,只有root用户和属于security组的用户对该文件有写权限。一般建议用管理组的命令修改该文件。1.2.3/etc/security/passwd文件由于用户信息和用户密码是分别放在两个文件中,AIX系统用/etc/security/passwd文件存放用户的密码信息。这个文件时一个ASCII编码的文本文件,格式是以节的形式出现,5不像/etc/passwd文件中一个用户一条记录的形式。节(stanzas)格式在AIX系统中最为常见,节格式描述对象的信息是多行的,每一个节是以用户名加冒号(:)开头,节点每一行是以“标识符=值”形式出现,节与节之间有一个空白行,相对于单行存储方式,节格式能够存储更多的信息。下面是一个/etc/security/passwd文件的样本部分内容。从上面可以看出一个节是以一个用户名加冒号(:)开始的,每一个节点里有1行到3行的内容。如用户root有password,lastupdate,flags等3个属性。下面是这3个属性的含义。表1/etc/security/passwd文件解释属性含义Password用户密码加密后的密文,有13个字符。如果该属性的值是“*”,则表示该用户不能登录,如果该属性的值是空,则表示该用户没有密码。该属性的默认值是“*”Lastupdate从1970.1.1.00:00:00(GMT时间)到最近一次改变密码的时间,以秒计算Flags用户使用login,passwd和su命令的约束标志。这个标志的值可能是一个或多个,若为多个则以逗号分开,它的值可没有(就是空白)。它可取的值有:ADMIN、ADMCHG、NOCHECK等Password属性的值是由passwd或者pwdadm命令产生的,它是一个加密后的字符串。如果在/etc/security/user文件设置用户密码的期限,当用户密码到期之前,lastupdate属性就会强制性的要求用户更改密码,当使用passwd和pwdadm命令更改密码时,同时会更新lastupdate属性的值。AIX5L中支持的最大密码长度为8个字符长,这是由于密码加密过程算法使用的是crypt()调用,该方法会将密码在8字节处截断。从AIX6.1和AIX5.3TL7开始,支持可加载的密码算法(LoadablePasswordAlgorithm),这样AIX系统可以支持更多种密码算法来对密码进行加密,并且密码的最大长度也扩展到了255个字符(各种密码加密算法支持的最大长度不同)。由于密码算法可6变,密码长度更长,用户密码被暴力破解的可能性也就相应降低了.注意:要修改这个文件,最好使用系统命令,用户要修改自己的密码就用passwd命令,作为security组的用户修改其他用户的密码时,就使用pwdadm命令,超级用户root修改其它用户密码时,就用passwd命令。这个文件也只能由root用户直接读写。该文件的权限与/etc/passwd文件权限不一致。1.2.4/etc/security/user文件/etc/security/user文件记录着用户的扩展信息,它也是一个ASCII编码的文本文件。该文件以节(Stanzas)格式组织,下面就是该文件的一个样本,default部分是全局设置。default:admin=falselogin=truesu=truedaemon=truerlogin=truesugroups=ALLadmgroups=ttys=ALLauth1=SYSTEMauth2=NONEtpath=nosakumask=022expires=0SYSTEM=compatlogintimes=pwdwarntime=7account_locked=falseloginretries=0histexpire=13histsize=2minage=0