PASSWD - Linux手册页
Linux程序员手册 第5部分
更新日期: 2018-04-30
名称
passwd-密码文件
说明
/ etc / passwd文件是一个文本文件,描述了系统的用户登录帐户。它应该具有所有用户的读取权限(许多实用程序,例如ls(1)都使用它来将用户ID映射到用户名),但是仅对超级用户具有写访问权限。
在过去的好日子里,这种一般的读取权限没有什么大问题。每个人都可以读取加密的密码,但是硬件速度太慢,无法破解精心选择的密码,而且,以前的基本假设是友好的用户社区。如今,许多人运行某种版本的影子密码套件,其中/ etc / passwd在密码字段中带有aqxaq字符,而加密的密码位于/ etc / shadow中,只有超级用户才能读取。
如果加密的密码(无论是/ etc / passwd还是/ etc / shadow中的密码)为空字符串,则允许登录而无需输入密码。请注意,此功能可能在应用程序中有意禁用或可配置(例如,使用pam_unix.so的" nullok"或" nonull"参数)。
如果/ etc / passwd中的加密密码为" * NP *"(不带引号),则应从NIS +服务器获取影子记录。
无论是否使用影子密码,许多系统管理员都会在加密的密码字段中使用星号(*),以确保该用户无法使用密码对自己进行身份验证。 (但请参阅下面的注释。)
如果创建新的登录名,请首先在密码字段中输入一个星号(*),然后使用passwd(1)进行设置。
文件的每一行描述一个用户,并包含七个冒号分隔的字段:
name:password:UID:GID:GECOS:directory:shell
字段如下:
- name
- 这是用户的登录名。它不应包含大写字母。
- password
- 这是加密的用户密码,星号(*)或字母aqxaq。 (有关aqxaq的说明,请参见pwconv(8)。)
- UID
- 特权根登录帐户(超级用户)的用户ID为0。
- GID
- 这是此用户的数字主要组ID。 (在系统组文件中定义了用户的其他组;请参阅group(5))。
- GECOS
- 该字段(有时称为"评论字段")是可选的,仅用于提供信息。通常,它包含完整的用户名。某些程序(例如finger(1))显示来自此字段的信息。
- GECOS代表"通用电气综合操作系统",当GE的大型系统部门出售给霍尼韦尔时,它更名为GCOS。 Dennis Ritchie报告说:"有时我们将打印机输出或批处理作业发送到GCOS机器。密码文件中的gcos字段是用来存放$ IDENTcard信息的位置。这并不美观。"
- directory
- 这是用户的主目录:登录后用户所在的初始目录。此字段中的值用于设置HOME环境变量。
- shell
- 这是在登录时运行的程序(如果为空,请使用/ bin / sh)。如果设置为不存在的可执行文件,则用户将无法通过login(1)登录。该字段中的值用于设置SHELL环境变量。
文件
/ etc / passwd
备注
如果要创建用户组,则/ etc / group中必须有一个条目,否则将不存在任何组。
如果将加密密码设置为星号(*),则用户将无法使用login(1)登录,但仍可能使用rlogin(1)登录,运行现有进程并通过rsh(1)启动新进程,cron (8),at(1)或邮件过滤器等。尝试通过简单地更改shell字段来锁定帐户会产生相同的结果,并且还允许使用su(1)。
另外参见
chfn(1),chsh(1),login(1),passwd(1),su(1),crypt(3),getpwent(3),getpwnam(3),group(5),shadow(5), VIP(8)
出版信息
这个页面是Linux手册页项目5.08版的一部分。有关项目的说明、有关报告错误的信息以及此页面的最新版本,请访问https://www.kernel.org/doc/man-pages/。