/etc/passwd 档案解读


/etc/passwd 档案储存了所有 Linux 帐号的登入资讯,例如 User ID, Group ID, 家目录, shell 等。每一个帐号一行 资料,每个字段以冒号 “:” 分隔。一般帐号对 passwd 有可读权限,而只有 root 有可写入的权限。

以下是每个字段的所储存的内容:

Username: 帐号登入的 username, 长度可以 1 至 32 个字符。
Password: 这个字段会用 x 字符代替加密的密码,而加密的密码储存在 /etc/shadow 档案内。
User ID (UID): 每个帐号都有一个独一无二的 user ID (UID), UID 0 是留给 root,而 1 至 99 预留给系统帐号。
Group ID (GID): 储存在 /etc/group 的 primary group ID.
User ID Info: 可以加入一些额外的资讯,例如姓名,电话等,但不是必须要有内容。
Home Directory: 帐号的家目录。
Shell: 帐号使用的 shell。

要列出所有帐号,可以直接用 cat 输出 /etc/passwd:

$ cat /etc/passwd

搜寻出等定帐号,例如想找出 opencli 帐号:

$ grep opencli /etc/passwd

系统帐号已加密的密码并不会储存在 /etc/passwd, 而是储存在 /etc/shadow, 在 /etc/passwd 的密码字段只会储存 (*) 代替。这是由于 /etc/passwd 的权限是 rw-r–r (644), 普通帐号也可以读取加密了的密码。而 /etc/shadow 则是 -w—– (400) 权限, 只有 root 可以读写。

Leave a Reply