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) 登录.