Linux下/etc/passwd、/etc/shadow、/etc/group文件
1./etc/passwd
[root@prac ~]# 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 … … …
每个字段都用:隔开,各字段包含的信息如下:
① 登陆用户名;
② 用户密码;
③ 用户账户的UID(数字形式)
④ 用户账户的组ID(GID)(数字形式)
⑤ 用户账户的文本描述(称为备注字段)
⑥ 用户HOME目录的位置
⑦ 用户的默认shell
usermod是一个用户账户修改工具
-l 修改用户账户的登录名
-L 锁定账户,使用户无法登录
-p 修改账户的密码
-U 解除锁定,使用户能够登录。
chpasswd 从文件中读取登录名密码对,并更新密码
chage 修改密码的过期日期
chfn 修改用户账户的备注信息
chsh 修改用户账户的默认登录shell
2./etc/shadow
[root@prac ~]# cat /etc/shadow root:$6$LrtcGaOs$V/f8z.wKO94lEOXRXJv4QEqmM8y2YD9Z6bba0U3VtefljBUtfHjbWFQWKxXKqTI2GpYXcdm04TuBzE4w5NMdO.:17206:0:99999:7::: bin:*:15980:0:99999:7::: daemon:*:15980:0:99999:7::: adm:*:15980:0:99999:7::: lp:*:15980:0:99999:7::: sync:*:15980:0:99999:7::: shutdown:*:15980:0:99999:7::: halt:*:15980:0:99999:7::: … … …
和/etc/passwd一样,/etc/shadow的每个字段同样以:隔开,各字段信息如下
① 与/etc/passwd文件中的登陆名字段对应的登录名
② 加密后的密码
③ 自上次修改密码后过去的天数密码(自1970年1月1日开始计算)
④ 多少天后才能更改密码
⑤ 多少天后必须更改密码
⑥ 密码过期前提前多少天提醒用户更改密码
⑦ 密码过期后多少天禁用用户账户
⑧ 用户账户被禁用的日期(用自1970年1月1日到当天的天数表示)
⑨ 预留字段给将来使用
3./etc/group
[root@prac ~]# cat /etc/group root:x:0: bin:x:1:bin,daemon daemon:x:2:bin,daemon sys:x:3:bin,adm adm:x:4:adm,daemon tty:x:5: disk:x:6: lp:x:7:daemon mem:x:8: … … …
/etc/group文件有4个字段:
① 组名
② 组密码
③ GID
④ 属于该组的用户列表
usermod -G 组名 用户名 #在组中添加用户,-G选项会把这个新组添加到该用户账户的组列表里
groupmod -n 新组名 旧组名 #更改组名