/etc/shadow文件是/etc/passwd的影子文件,这两个文件应该是对应互补的。/etc/shadow文件的内容包括用户被加密的密码以及其它/etc/passwd文件不能包括的信息,比如用户账户的有效期限等。
/etc/shadow文件只有root用可以读取和操作,文件的权限不能随便更改为其它用户可读,这样做是非常危险的。如果发现这个文件的权限变成了其它组群或用户可读了,要进行检查,以防系统安全问题的发生。
/etc/shadow文件的内容包括9个段位,每个段位之间用“:”分隔,下面是/etc/shadow文件的部分内容。
root:$6$FHFK5Ioc8/E6ItOo$.0f9noBjJD/uBi2umPHYbsNOxjPnaCANkFHcRkgkYHTM83qIumF7n1ISKItrwF8fkngV3Mt9GhPe/kwD6YXDm0::0:99999:7:::
bin:*:16579:0:99999:7:::
daemon:*:16579:0:99999:7:::
adm:*:16579:0:99999:7:::
lp:*:16579:0:99999:7:::
sync:*:16579:0:99999:7:::
........................(省略)
oprofile:!!:16789::::::
tcpdump:!!:16789::::::
zhangsan:$6$Sn23SOzQaGrAqLqx$4fKpeHRrN9Y2z20RJ2coigB07fsGOEQEqtoSUQEhcpjPC73K0QIkvGb6rp1zXN39zPCRx85iAguSp48GWMleL0::0:99999:7:::
表中所示为/etc/shadow文件中各段位的含义。
段位 | 含义 |
用户名 | 这里的用户名和/etc/passwd文件中的用户名是相同的 |
加密密码 | 密码已经加密,如果有些用户在这里显示的是“!!”,则表示这个用户还没有设置密码,不能登录到系统 |
用户最后一次更改密码的日期 | 从1970年1月1日算起到最后一次修改密码的时间间隔天数 |
密码允许更换前的天数 | 如果设置为0,则禁用此功能。该段位是指用户可以更改密码的天数 |
密码需要更换的天数 | 如果设置为0,则禁用此功能。该段位是指用户必须更改密码的天数 |
密码更换前警告的天数 | 用户登录系统后,系统登录程序提醒用户密码将要过期 |
账户被取消激活前的天数 | 表示用户密码过期多少天后,系统会禁用此用户,也就是说系统会不让此用户登录,也不会提示用户过期,是完全禁用的 |
用户账户过期日期 | 指定用户账户禁用的天数(从1970年的1月1日开始到账户被禁用的天数),如果这个字段的值为空,账户永久可用 |
保留字段 | 目前为空,以备将来Linux系统发展时使用 |
本文节选自《Linux学习并不难》教材,这是一本最实用的、理论实践并重的Linux入门教材。
《Linux学习并不难》用户管理(3):/etc/shadow文件详细介绍
原文地址:http://blog.51cto.com/10923902/2107590