计算机网络/计算机科学与应用/系统/运维/开发

Linux - 密码文件 /etc/shadow-x


/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、失效时间,字段给出一个固定天数,如果使用这个字段,表示给出相应账号的生存期,到期后,该账号就不是一个合法账号,也就不能在登录。


Linux /etc/shadow

世上最好的保鲜就是不断进步,让自己成为一个更好和更值得爱的人。

评论

^