了解 /etc/passwd 文件

评论 0 浏览 0 2019-12-02

Linux系统上有几种不同的身份验证方案。最常用和标准的方案是根据/etc/passwd/etc/shadow文件执行身份验证。

/etc/passwd 是一个基于纯文本的数据库,包含系统上所有用户账户的信息。它为root拥有权限为644。该文件只能由 root 或使用 sudo 的用户修改,所有系统用户均可读取。

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

/etc/passwd格式

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

cat /etc/passwd

通常,第一行描述 root 用户,然后是系统和普通用户帐户。新条目将附加在文件末尾。

/etc/passwd 文件的每一行包含七个冒号分隔的字段:

输出

mark:x:1001:1001:mark,,,:/home/mark:/bin/bash
[--] - [--] [--] [-----] [--------] [--------]
|    |   |    |     |         |        |
|    |   |    |     |         |        +-> 7. Login shell
|    |   |    |     |         +----------> 6. Home directory
|    |   |    |     +--------------------> 5. GECOS
|    |   |    +--------------------------> 4. GID
|    |   +-------------------------------> 3. UID
|    +-----------------------------------> 2. Password
+----------------------------------------> 1. Username
  1. 用户名。您登录系统时输入的字符串。每个用户名必须是计算机上唯一的字符串。用户名的最大长度限制为 32 个字符。
  2. 密码。在较旧的 Linux 系统中,用户的加密密码存储在 /etc/passwd 文件中。在大多数现代系统上,该字段设置为x,并且用户密码 存储在/etc/shadow文件中。
  3. UID。用户标识符是分配给每个用户的号码。操作系统使用它来指代用户。
  4. GID。用户的组标识符号,指用户的主要组。当用户创建文件 ,文件的组设置为此组。通常,组的名称与用户的名称相同。用户的次要组 列在/etc/groups 文件中。
  5. GECOS 或用户全名。该字段包含一个以逗号分隔的值列表,其中包含以下信息:
    • 用户的全名或应用程序名称。
    • 房间号。
    • 工作电话号码。
    • 家庭电话号码。
    • 其他联系方式。
  6. 主目录。用户主目录的绝对路径。它包含用户的文件和配置。默认情况下,用户主目录以用户名命名并在/home目录下创建。
  7. 登录 shell。用户登录 shell 的绝对路径。这是用户登录系统时启动的 shell。在大多数 Linux 发行版中,默认登录 shell 是 Bash。

结论

/etc/passwd 文件记录系统上的所有用户。

如果您有任何问题或反馈,请随时发表评论。

最后更新2023-09-16
0 个评论
标签