Linux中etc下的password和shadow文件介绍

发布时间 2023-03-26 20:34:15作者: 羊飞飞

1./etc/passwdroot

 

@root:~# cat /etc/passwd

root:x:0:0:root:/root:/bin/bash

daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin

bin:x:2:2:bin:/bin:/usr/sbin/nologin

admin:x:3:3:admin:/dev:/usr/sbin/nologin

 

字段与字段之间以:隔开,每个字段代表的意思如下:

1.用户名。

2.用户的密码占位符。(之前用户的密码原本存储在该字段,处于安全考虑,最后专门有了/etc/shadow文件,现在默认均由x替代)

3.用户UID值,一般情况下,root的UID为0,1-499默认为系统账号,有的更大些到1000,500-65535为用户的可登录账号,有的系统从1000开始。

4.用户的gid,linux的用户都会有两个ID,一个是用户uid,一个是用户组id。(在我们登录的时候,输入用户名和密码,首先到/etc/passwd查看是否有你输入的账号或者用户名,有的话将该账号与对应的UID和GID(在/etc/group中)读出来。然后读出主文件夹与shell的设置,然后再去检验密码是否正确,正确的话正常登录)

5.用户的账号说明解释。

6.用户的家目录文件夹。

7.用户使用的shell,如果换成/sbin/nologin时默认是没有登录环境的。

2./etc/shadow

复制代码
复制代码
复制代码
root@www:~# cat /etc/shadow
root:$6$X9iEgIhv$wGtrUhjiNRp72LgCTzC1qdi.myfSU9S5nqsfr.m1KInUFoeOUBN73AmMy5sTe91biJLdHgsoimZQzeD9EvGlv1:16769:0:99999:7:::
daemon:*:16547:0:99999:7:::
bin:*:16547:0:99999:7:::
sys:*:16547:0:99999:7:::
sync:*:16547:0:99999:7:::
games:*:16547:0:99999:7:::
man:*:16547:0:99999:7:::
复制代码
复制代码
复制代码

字段与字段之间以:隔开,每个字段代表的意思如下:

1.用户名,与/etc/passwd中的第一个字段一致。

2.用户的密码加密字段(“该字段存放的是加密后的用户口令字,如果为空,则对应用户没有口令,登录时不需要口令; 星号代表帐号被锁定; 双叹号表示这个密码已经过期了。 $6$开头的,表明是用SHA-512加密的, $1$ 表明是用MD5加密的 $2$ 是用Blowfish加密的 $5$ 是用 SHA-256加密的。)

3.“最后一次修改时间”表示的是从某个时刻起,到用户最后一次修改口令时的天数。(一般这个时间起点是1970年1月1日)

4.“最小时间间隔”指的是两次修改口令之间所需的最小天数。

5.“最大时间间隔”指的是口令保持有效的最大天数。

6.“警告时间”字段表示的是从系统开始警告用户到用户密码正式失效之间的天数。

7.“不活动时间”表示的是用户没有登录活动但账号仍能保持有效的最大天数。

8.“失效时间”字段给出的是一个绝对的天数,如果使用了这个字段,那么就给出相应账号的生存期。期满后,该账号就不再是一个合法的账号,也就不能再用来登录了。

9.最后一个字段,为保留字段,暂时没有任何含义。