00. 目录


文章目录


01. /etc/passwd文件内容

[deng@itcast ~]$ cat /etc/passwd

02. /etc/passwd文件描述

Passwd是个文本文件,它包含了一个系统帐户列表,给出每个帐户一些有用的信息,比如用户ID,组ID,家目录,shell,等.
通常它也包含了每个用户经过加密的密码.
它通常应该是可读的(许多命令,工具程序,像ls(1)用它做用户Id到用户名称的映射),但是只允许超级用户有写方式权限.

在过去美好的日子里,这种一般的读许可没有什么大问题.
每个人都能读到加密了的密码,因为硬件太慢以至于不能解开一个用户的密码,另外,这基本假定是为友好的使用团体使用的.
现在,许多人运行一些版本的影子密码套件,它们在/etc/passwd的密码域里是*,而不再是加密的口令, 加密的口令放在/etc/shadow中,那个文件只有超级用户能读.不管是否使用了影子密码,许多系统管理员使用一个星号在加密的密码字段
以确保用户不能鉴别他(她)自己的密码. (见下面的注意)

如果你建立了一个新的登录,首先放个星号在密码字段, 然后使用 passwd(1)设置它.

03. /etc/passwd字段解析

(密码文件)里每行一条记录,并且每行有这样的格式:

account:password:UID:GID:GECOS:directory:shell
(帐号:密码:用户ID:组ID:一般的信息:目录:shell)

字段描述如下​:

第一列​:account 使用者在系统中的名字,它不能包含大写字母.

第二列​:password 加密的用户密码,或者星号。

第三列​:UID 用户 ID 数。

第四列​:GID 用户的主要组 ID 数。

第五列​:GECOS 这字段是可选的,通常为了存放信息目的而设的.通常,它包含了用户的全名.GECOS意思是通用电气综合操作系统(General Electric Compre‐hensive Operating System),当GECOS的大型系统部分割售卖给 Honeywell 时它被改为 GCOS.

第六列​:directory 用户的 $HOME 目录.

第七列​:shell 登录时运行的程序(如果空的,使用/bin/sh). 如果设为不存在的执行(程序),用户不能通过 login(1) 登录.

04. 附录

参考:​​【Linux】一步一步学Linux系列教程汇总​