曲径通幽论坛

 找回密码
 立即注册
搜索
查看: 3886|回复: 0
打印 上一主题 下一主题

[CentOS/RHEL] /etc/shadow 文件格式

[复制链接]

4918

主题

5880

帖子

3万

积分

GROAD

曲径通幽,安觅芳踪。

Rank: 6Rank: 6

积分
34395
跳转到指定楼层
楼主
发表于 2013-5-3 00:54:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
/etc/passwd 文件是连普通用户都是可读的,即使经过加密的密码也不行。如果一个攻击者拿到存储了密码的 /etc/passwd 文件,那么他可以使用和系统同样加密的方法来穷举实际的密码,因此不能把密码存在 /etc/passwd 中。

真正加密后的密码是存在 /etc/shadow 中的,并且该文件是只有 root 可读的。下面是一个用户的密码信息条目:
beyes:$6$kmoePt3WlCaAcXeb$Nd5f8qglFTRwlkGNuHEef4xXFK3AiJ.hHrBaLobgIS/J53Bu2ynDcos0J3/IvMKLp7oonC5TlsuVTj0WRVu1G0:15764:0:99999:7:::
在这个存储格式里,每个域用一个冒号分隔,总共有 9 个域。下面说明每个域的含义?

第 1 个域是“登录名”(login name)。

第 2 个域是“加密后的密码”(encrypted password),加密方法可以通过 man 3 crypt 获得参考。如果该域包含不是合法的密码字符串,而是像 '!' 或 '*' 这样的符号,那么说明用户不能通过用户名+密码的方式登录到系统。
'*' 符号表示从来没设置过密码。密码域以 '!' 符号开头,表示该密码已被锁定。如果这个域为空,那么验证也不会被通过。

使用 usermod -L username 命令可以锁定用户,实际上该命令实际就是往这个用户的密码串前面加一个 '!' 符号。


第 3 个域是“最后一次密码改变的时间”(date of last password change),这个时间是以天为单位计算的,它是距 1970 年 1 月 1 日起到最后一次变更密码的天数,像上面是 15764 天。该域的值如果是 0 ,那么在该用户下次登录系统时,系统会要求它重新修改密码。如果该域为空,那会禁止密码老化的特性要求。

第 4 个域是“最小密码改变时间”(minimum password age) 。上面所示的例子中该项值为 0 ,表示用户随时都可以改密码。如果不为零,那么在这个时间内,是不能修改密码的。为什么要这么做呢?比如说,你公司要求你们在一定的时间内必须修改自己的密码(假设要求你修改的密码必须足够强壮),你确实会乖乖的按照公司的要求去做,但你会觉得这样很麻烦,且又要重新记忆新改的密码,于是你偷偷耍了个诡计,在修改了新的密码后,你又偷偷的将密码改回原来的---你以为这样想很聪明,且很容易做到,但是如果服务器上设置了这个“最小时间”,那么你的希望就破灭了。

第 5 个域是“密码过期时间”(maximum password age)。这个时间表示在此时间后,用户密码过期。像上面例子系统默认设置的 99999 这是个非常长的时间,实际上你所用的计算机都成废铁了它还没过期。当这个时间到时,系统会在你登录时要求你变更新的密码。如果该域为空,那说明没有过期时间。如果这个时间的值设得小于“最小密码改变时间”的值,那么用户到这个时间时不能修改密码。

第 6 个域是“密码过期提前警告”(password warning period) 。该域的值表示在密码过期前的多少天内,如果不修改密码,系统会在你每次登录时都会警告你。若留空或为0,那禁用该功能。

第 7 个域是“密码失效时间”(password inactivity period)。在一个密码过期后,在该时间内仍然有效。但如果在此期间内不修改密码,那么在过期后用户将不能登录,只能联系系统管理员。该域留空表示不作此功能限制。

第 8 个域是“用户过期时间”(account expiration date) 。在该时间到达后,用户过期,相当于该用户被作废。需要注意的是,用户过期和密码过期不一样,密码过期是说不能用密码登录系统,但是账户还是活动的,它可以在别的场合干另外一些不需要登录的事情,但是如果账户都过期了,那在任何需要账户验证的场合都将失效。

第 9 个域是保留域。

对于上面几个密码的默认取值,如密码过期时间 99999 是来自文件 /etc/login.defs 文件。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|曲径通幽 ( 琼ICP备11001422号-1|公安备案:46900502000207 )

GMT+8, 2025-5-4 14:33 , Processed in 0.059752 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表