由于 passwd 文件必须要被所有的用户读,所以会带来安全隐患。而 shadow 文件就是为了解
决这个安全隐患而增加的。
来看一下/etc/shadow 的权限:
# ls -l /etc/shadow
-rw-------. 1 root root 1059 4 月 11 14:13 /etc/shadow
其文件内容为:
# head -5 /etc/shadow
root:$6$brYJfSgOsd8kAu5m$5iAUHQZJKWLP1Bx7VNEV6layO4UJyOekkBJWr9tmqjHBbtPCttYC
2d8OK.Jt7eH2/oxNq82Bc5v8iHNyfnX2d1:18407:0:99999:7:::
daemon:*:18348:0:99999:7:::
bin:*:18348:0:99999:7:::
sys:*:18348:0:99999:7:::
sync:*:18348:0:99999:7:::
和/etc/passwd 一样,shadow 文件的每一行内容,也是以冒号(:)作为分隔符,共 9 个字段,其
各个字段的意义如下表:
字段 1:帐号名称
字段 2:加密的密码
字段 3:最近更改密码的时间;从 1970/1/1 到上次修改密码的天数
字段 4:禁止修改密码的天数;从 1970/1/1 开始,多少天之内不能修改密码,默认值为
0
字段 5:用户必须更改口令的天数;密码的最长有效天数,默认值为 99999
字段 6:警告更改密码的期限;密码过期之前警告天数,默认值为 7;在用户密码过期
前多少天提醒用户更改密码
字段 7:不活动时间;密码过期之后账户宽限时间 3+5;在用户密码过期之后到禁用账
户的天数
字段 8:帐号失效时间,默认值为空;从 1970/1/1 日起,到用户被禁用的天数
字段 9:保留字段(未使用),标志
密码过期:一旦超过密码过期日期,用户成功登陆,Linux 会强迫用户设置一个新密码,
设置完成后才开启 Shell 程序
账户过期:若超过账户过期日期,Linux 会禁止用户登陆系统,即使输入正确密码,也
无法登陆
评论