linux常见文件格式

本文档整理并记录一些ubuntu系统常用文件的格式。

/etc/passwd

通常在Linux系统中,用户的关键信息被存放在系统的/etc/passwd文件中,系统的每一个合法用户账号对应于该文件中的一行记录。这行记录定义了每个用户账号的属性。

字段 含义
1 表示用户名
2 表示密码,在 /etc/passwd 文件中,如果该用户有密码,则使用x来替代,为空则表示不需要密码。为了防止密码泄露,真正的密码保存在 /etc/shadow中,但是这个文件中的密码也是经过加密后的密码。
3 表示用户的ID
4 表示用户所属组的ID
5 一些备注信息
6 用户的home目录位置
7 表示用户登录时所使用的解释器的位置,有些是nologin,表示该用户无法登录系统

/etc/shadow

/etc/shadow 文件,用于存储 Linux系统中用户的密码信息,又称为“影子文件”。
/etc/passwd 文件中用x表示用户面膜,这是因为该文件允许所有用户读取,易导致用户密码泄露,因此 Linux 系统将用户的密码信息从 /etc/passwd 文件中分离出来,并单独放到了/etc/shadow文件中。
/etc/shadow 文件只有 root 用户拥有读权限,其他用户没有任何权限,这样就保证了用户密码的安全性。同 /etc/passwd 文件一样,文件中每行代表一个用户,同样使用 “:” 作为分隔符,不同之处在于,每行用户信息被划分为 9 个字段。每个字段的含义如下:

字段 含义
1 用户名
2 加密密码
3 最后一次修改时间
4 最小修改时间间隔
5 密码有效期
6 密码需要变更前的警告天数
7 密码过期后的宽限时间
8 账号失效时间
9 保留字段

/etc/group

/ect/group 文件是用户组配置文件,即用户组的所有信息都存放在此文件中。
此文件是记录组 ID(GID)和组名相对应的文件。etc/passwd 文件中每行用户信息的第四个字段记录的是用户的初始组 ID,那么,此 GID 的组名到底是什么呢?就要从 /etc/group 文件中查找。各用户组中,还是以 “:” 作为字段之间的分隔符,分为 4 个字段,每个字段对应的含义为:

字段 含义
1 组名
2 密码
3 GID
4 该用户组中的用户列表

参考文献

[1] /etc/shadow文件:http://c.biancheng.net/view/840.html