/etc/shadow 又称影子文件 只有root用户有权限 保证了密码安全性
# grep "^root" /etc/shadow
[root@iZ8vb9nmgwljcf9m2wxaekZ ~]# grep "^root" /etc/shadow root:$6$EJNiy/ydolY$cY7m1I/6FZY0psCvkk5GazBBsx2FSl/zk7JbjEaRgDdOi.uSO02wstL9uraDeauIAUp5c0EaqoJZC2.o40y6o0:18784:0:99999:7:::
# cat /etc/shadow
[root@VM_0_16_centos ~]# cat /etc/shadow root:$1$gOVDFNxU$9igEEH1j0bT5CYvT8nSDx0:18364:0:99999:7::: bin:*:17110:0:99999:7::: daemon:*:17110:0:99999:7::: adm:*:17110:0:99999:7::: lp:*:17110:0:99999:7::: sync:*:17110:0:99999:7::: shutdown:*:17110:0:99999:7::: halt:*:17110:0:99999:7::: mail:*:17110:0:99999:7::: operator:*:17110:0:99999:7::: games:*:17110:0:99999:7::: ftp:*:17110:0:99999:7::: nobody:*:17110:0:99999:7::: systemd-network:!!:17540::::::
/etc/shadow 文件内容包括9个字段
1、表示用户名
2、使用hash 算法加密的用户密码
root:$1$gOVDFNxU$9igEEH1j0bT5CYvT8nSDx0:18364:0:99999:7:::
(密码由$符号分隔成3部分)
$第一部分 $6 表示所采用的加密方法,Linux中 加密方法共有 MD5、SHA1、SHA224、SHA256、SHA384、SHA512
$6 对应的是SHA512加密算法
$1$MD5加密方式
$2$Blowfish加密方式
$5$ SHA256加密方式
$第二部分是在密码中加入的随机数salt 作用是防止用户使用相同的密码,从而导致加密后的密码串也相同,从而通过加密串进行加密。
$第三部分才是用户密码加密后的密码串,是经过重新编码之后在存放的,并非直接存放的十六进制密码。
注意:
bin:*:17110:0:99999:7::: daemon:*:17110:0:99999:7::: dbus:!!:17540::::::
如果一个用户的密码字段中是 * 或 !! 表示此用户不能登录系统
3、密码最后一次修改的时间
默认1970.1.1 ,比如今天修改日期(2021.6.14),那么这个最后修改记录为2021.6.14-1970.1.1 = 天数(就是密码最后一次修改时间)
4、修改密码的最大时间间隔,默认为0 表示随时可以修改 如果是2 表示3天才能修改一次
5、警告时间,密码从警告开始到失效的天数
6、账号闲置时间,表示这个账号多久没有使用过,每天进行累加
7、失效时间,字段给出一个固定天数,如果使用这个字段,表示给出相应账号的生存期,到期后,该账号就不是一个合法账号,也就不能在登录。