Linux的/etc/passwd文件详解

在Linux系统上可以使用几种不同的身份验证方案。最常用和标准的方案是对/etc/passwd和 /etc/shadow 文件执行认证

3 min read
By myfreax
Linux的/etc/passwd文件详解

在Linux系统上可以使用几种不同的身份验证方案。最常用和标准的方案是对/etc/passwd/etc/shadow文件执行认证。

/etc/passwd是基于纯文本的数据库,其中包含系统上所有用户帐户的信息。它的所有权是root用户,具有644权限。该文件只能由root用户或具有sudo权限的用户可以修改,并且所有系统用户都可以读取。

除非您知道自己在做什么,否则应避免手动修改/etc/passwd文件。始终使用专门为此目的设计的命令。例如,要修改用户帐户,请使用usermod命令。如需要添加新的用户帐户,请使用useradd命令

在本教程中,我们将说明/etc/passwd文件所包含的信息。包括使用usermod,passwd修改文件信息,/etc/passwd文件包含了用户名,密码,家目录,GID,UID,密码,GECOS或用户的全名,登录shell-bash,zsh。

/etc/passwd格式

/etc/passwd文件是一个文本文件,每行一个条目,代表一个用户帐户。要查看文件的内容,请使用文本编辑器cat命令:

cat /etc/passwd

通常,第一行描述的是root用户,然后是系统帐户和普通用户帐户。添加新的用户将追加在文件末尾。/etc/passwd文件的每一行都包含七个逗号分隔的字段:

mark:x:1001:1001:mark,,,:/home/mark:/bin/bash
[--] - [--] [--] [-----] [--------] [--------]
|    |   |    |     |         |        |
|    |   |    |     |         |        +-> 7. 设置登录shell-bash,zsh
|    |   |    |     |         +----------> 6. Home directory家目录
|    |   |    |     +--------------------> 5. GECOS
|    |   |    +--------------------------> 4. GID 组id
|    |   +-------------------------------> 3. UID 用户id
|    +-----------------------------------> 2. Password 密码
+----------------------------------------> 1. Username 用户名

用户名:登录系统时输入的字符串。每个用户名在计算机上必须是唯一的字符串。用户名的最大长度限制为32个字符。

密码:在较旧的Linux系统中,用户的加密密码存储在/etc/passwd文件中。在大多数现代的Linux系统上,此字段设置为x用户密码存储在/etc/shadow文件中。

UID:用户标识符是分配给每个用户的号码。

GID:操作系统使用它来引用用户。用户的组标识号,是指用户的主要组。当用户创建文件时,文件的组将设置为此组。通常,组的名称与用户的名称相同。/etc/groups文件中列出了用户的次要组

GECOS或用户的全名:该字段包含逗号分隔值的列表,其中包含用户的全名或应用程序名称,地址,工作电话号码,电话号码,其他联系信息。

家目录:用户主目录的绝对路径。它包含用户的文件和配置。默认情况下,用户主目录以用户名命名,并在/home目录下创建。

登录shell:用户登录shell程序的绝对路径。这是用户登录系统时启动的shell程序。在大多数Linux发行版中,默认登录shell为Bash。

结论

/etc/passwd文件跟踪系统上的所有用户基础配置信息。如果您有任何问题或反馈,请随时发表评论。