1. 账户信息文件
账户信息被保存在 /etc/passwd 文件中,通过命令 cat /etc/passwd 查看文件内容如下:
[root@192 ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
……中间部分省略……
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
chrony:x:998:996::/var/lib/chrony:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/false
文件以冒号为分隔符,第一列为账户名称,第二列为密码占位符(x表示该账户需要密码才可以登录,为空时,账户无须密码即可登录),第三列为账户UID,第四列为GID,第五列为账户附加基本信息,一般存储账户名全称、联系方式等信息,第六列为账户家目录位置,第七列为账户登录Shell,/bin/bash为可登录系统Shell,/sbin/nologin表示账户无法登录系统。
2. 账户密码文件
账户密码信息被保存在 /etc/shadow 文件中,通过命令 cat /etc/shadow 查看文件内容如下:
[root@192 ~]# cat /etc/shadow
root:$6$GmklrLt5M4lqMzDM$KzCJR8T.Bk2Yov4CC20JTaxqb2WQ8A6/dsrgSXb2mKg.rpO1goxVZsk3msqiiuMFAXTrR20tOk.VXDe9KtlLV.::0:99999:7:::
bin:*:17632:0:99999:7:::
daemon:*:17632:0:99999:7:::
adm:*:17632:0:99999:7:::
……中间部分省略……
postfix:!!:18141::::::
chrony:!!:18141::::::
tss:!!:18152::::::
mysql:!!:18170::::::
文件以冒号为分隔符,第一列为账户名称,第二列为密码(账户未设置密码时为!!,设置密码后加密显示,CentOS6默认采用SHA-512算法),第三列为上次修改密码的时间距离1970年01月01日有多少天(依此推算最后一次修改密码的日期),第四列为密码最短有效天数(密码至少使用多少天,0代表无限制),第五列为密码最长有效天数(默认99999可以理解为永不过期),第六列为过期前的警告天数(默认过期前提前7天警告,但进入警告日期后仍可以使用旧密码登录系统),第七列为密码过期后的宽限天数(密码过期后,预留几天给账户修改密码,此时已无法使用旧密码登录系统),第八列为账户失效日期(从1970年01月01日起多少天后账户失效),第九列暂时保留未使用。
3. 组账户信息文件
组账户信息被保存在 /etc/group 文件中,通过命令 cat /etc/group 查看文件内容如下:
[root@192 ~]# cat /etc/group
root:x:0:
bin:x:1:
daemon:x:2:
sys:x:3:
adm:x:4:
tty:x:5:
disk:x:6:
……中间部分省略……
postdrop:x:90:
postfix:x:89:
chrony:x:996:
tss:x:59:
mysql:x:27:
文件以冒号为分隔符,第一列为组账户名称,第二列为密码占位符,第三列为GID,第四列为组成员信息(注意,这里仅显示基本成员,附加成员不显示)。
4. 组账户密码文件
组账户密码信息被保存在 /etc/gshadow 文件中,通过命令 cat /etc/gshadow 查看内容如下:
[root@192 ~]# cat /etc/gshadow
root:::
bin:::
daemon:::
sys:::
adm:::
tty:::
disk:::
……中间部分省略……
postdrop:!::
postfix:!::
chrony:!::
tss:!::
mysql:!::
文件以冒号为分隔符,第一列为组账号名称,第二列为组密码(一般为组管理员密码),第三列为组管理员,第四列为组成员(与/etc/group第四列相同)。
通过<gpasswd 组名>的方式可以为组设置密码,通过<gpasswd -A 账户名称 组账户名称>可以为组添加管理员。
gpasswd admin # 设置组密码
gpasswd -A mail admin # 将mail账户设置为组admin的管理员
参考自,丁明一 编著 《Linux运维之道》