linux 中/etc/passwd 和 /etc/shadow的文件详解

  • Linux系统中,所有用户(包括系统管理员)的账号和密码都可以在/etc/passwd和/etc/shadow这两个文件中找到,(用户和密码就放在文件中,不怕被其他人看的或者修改吗? /etc/passwd文件中的每个用户都有一个对应的记录行,记录着这个用户的一下基本属性。/etc/passwd只有系统管理员才可以修改的,该文件对所有用户可读。而/etc/shadow文件正如他的名字一样,他是passwd文件的一个影子,/etc/shadow文件中的记录行与/etc/passwd中的一一对应,它由pwconv命令根据/etc/passwd中的数据自动产生。但是/etc/shadow其他用户看不了,/etc/shadow文件只有系统管理员才能够进行修改和查看。)

 

 

  • /etc/passwd文件介绍

 

  • 首先,我们通过命令vim /etc/passwd进行查看/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
  • sys:x:3:3:sys:/dev:/usr/sbin/nologin
  • sync:x:4:65534:sync:/bin:/bin/sync
  • games:x:5:60:games:/usr/games:/usr/sbin/nologin
  • man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
  • lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
  • mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
  • news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
  • uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
  • ......
  1. 从文件中我们可以看到,/etc/passwd中一行记录对应着一个用户,每行记录又被冒号(:)分隔为7个字段,其格式和具体含义如下:
  2. 第一列为账户名称
  3. 第二列为密码占位符(x表示该账户需要密码才能登录,为空时,账户无须密码即可登录)
  4. 第三列为账户UID
  5. 第四列为GID
  6. 第五列为账户附加基本信息,一般存储账户名全称,联系方式等信息
  7. 第六列为账户家目录位置
  8. 第七列为账户登录Shell,/bin/bash为可登录系统Shell,/sbin/nologin表示账户无法登录系统。

 

 

  • /etc/shadow文件介绍

  • /etc/shadow文件格式与/etc/passwd文件格式类似,同样由若干个字段组成,字段之间用“:”隔开。
  • 通过命令行输入sudo vim /etc/shadow进行文件内容查看:
  • root:!:18004:0:99999:7:::
  • daemon:*:17937:0:99999:7:::
  • bin:*:17937:0:99999:7:::
  • sys:*:17937:0:99999:7:::
  • sync:*:17937:0:99999:7:::
  • games:*:17937:0:99999:7:::
  • man:*:17937:0:99999:7:::
  • lp:*:17937:0:99999:7:::
  • mail:*:17937:0:99999:7:::
  • news:*:17937:0:99999:7:::
  • uucp:*:17937:0:99999:7:::
  • proxy:*:17937:0:99999:7:::
  • www-data:*:17937:0:99999:7:::
  • backup:*:17937:0:99999:7:::
  • list:*:17937:0:99999:7:::
  • irc:*:17937:0:99999:7:::

        文件以冒号为分隔符

 

  • 说明:
  1. 第一列为账户名称
  2. 第二列为密码(账户未设置密码时为!!,设置密码后加密显示)
  3. 第三列为上次修改密码的时间距离1970年01月01日多少天
  4. 第四列为密码最短有效天数,0表示无限制
  5. 第五列为密码最长有效天数(默认位99999天,可以理解为永不过期)
  6. 第六列为密码过期后的宽限天数(密码过期后,预留几天给账号修改密码,此时已无法使用旧密码登录)
  7. 第八列为账户失效日期(从1970年01月01日起多少天后账户失效)
  8. 第九列暂时保留未使用。
上一篇:Linux中/etc下面passwd和shadow文件介绍


下一篇:#luogu整理 P1022 计算器的改良:模拟