/etc/shadow文件主要用来保存用户名密码及密码相关的信息(具体如下)!
1 环境
OS:Server 8.3 (衍生自CentOS 8.3)
2 /etc/shadow 内容详解
内容样例
root:$6$AxBhnC1nBPYjIeOE$2gvoOZ7ErjyrbGBlQkMr1/4J7hl62oMba1jNE2PWSIxYfWoBeaIPhAetaO891ODtgErPcC630x9dskHgoeh4q0::0:99999:7:::
bin:*:18787:0:99999:7:::
daemon:*:18787:0:99999:7:::
adm:*:18787:0:99999:7:::
......
rngd:!!:18872::::::
tcpdump:!!:18872::::::
loongson:$6$w9HrOrb8QAg4KMZa$8bhxSHFDL9pkLHZmPFEMFngkpXD6KBIi476iLDZptPmlXBU.B7nlp5Ev./.k0NohB9dTqhF/MHLQcrCzP7Xt60::0:90:7:::
内容详解 ??根据上面的内容样例,可以看出shadow中每一行的内容是通过分隔符“:”进行划分的,每一行总共由9部分组成,其中每一段的具体含义如下:
- 用户名
- 密码密文,由3部分组成,其中第一部分表示加密方式:
$1$ 表示 MD5 $5$ 表示 SHA-256 $6$ 表示 SHA-512 $2a$ 和 $2y$表示Blowfish算法 - 最后一次更改密码的日期 .(从1970年1月1日开始计算,到修改密码时的天数)
- 两次修改密码间隔的最小天数,如果是0,表示随时可以修改密码。
- 两次修改密码间隔的最大天数,超过这个天数,密码将失效(密码有效期)。默认值99999表示永不失效。
- 密码警告期限(密码失效前多少天提醒用户修改密码)。默认提前一周通知用户修改密码(登录系统时,系统提示修改密码)。
- 密码禁用期限,密码过期之后,仍然接受此密码的天数(在此期间,用户应该在下次登录时修改密码)
- 账户过期期限,从1970年1月1日开始计算,超过这个日期,帐户将无法使用。空字段表示账户永不过期。
- 保留字段
3 修改密码相关信息命令——chage
??请不要在意这翻译^^
[root@localhost etc]
最近一次密码修改时间 :从不
密码过期时间 :从不
密码失效时间 :从不
帐户过期时间 :从不
两次改变密码之间相距的最小天数 :0
两次改变密码之间相距的最大天数 :90
在密码过期之前警告的天数 :7
[root@localhost etc]
正在为 loongson 修改年龄信息
请输入新值,或直接敲回车键以使用默认值
最小密码年龄 [0]: 1
最大密码年龄 [90]: 60
最近一次密码修改时间 (YYYY-MM-DD) [-1]:
密码过期警告 [7]:
密码失效 [-1]:
帐户过期时间 (YYYY-MM-DD) [-1]:
[root@localhost etc]
最近一次密码修改时间 :从不
密码过期时间 :从不
密码失效时间 :从不
帐户过期时间 :从不
两次改变密码之间相距的最小天数 :1
两次改变密码之间相距的最大天数 :60
在密码过期之前警告的天数 :7
[root@localhost etc]
loongson:$6$w9HrOrb8QAg4KMZa$8bhxSHFDL9pkLHZmPFEMFngkpXD6KBIi476iLDZptPmlXBU.B7nlp5Ev./.k0NohB9dTqhF/MHLQcrCzP7Xt60::1:60:7:::
[root@localhost etc]
4 注意点
1)将密码有效期从99999(永不过期)修改为其他数字时,也就是设置了密码有效期,需要立即修改密码(第一次用到密码的地方会让修改密码)。 2)密码有效期有效数字之间修改,不需要立即修改密码。(比如上面密码有效期从90天改为60天,此时不需要修改密码)
5 参考文章
1: https://www.maoyingdong.com/linuxetcshadow-tjtzt/ 2:man 5 shadow
|