linux 口令文件 /etc/passwd 详解
2025-09-21 22:03
PHP
139
0
0
0
标题录入
封面图
在 Linux 系统中,`/etc/passwd` 是一个非常重要的系统文件,用于存储用户账户的基本信息。它是一个文本文件,每行对应一个用户账户,各字段之间用冒号 `:` 分隔。 --- ## 📌 一、文件结构 每个用户记录的格式如下: ``` username:x:UID:GID:comment:home_directory:shell ``` | 字段 | 说明 | |------|------| | `username` | 用户名(登录名) | | `x` | 表示密码存储在 `/etc/shadow` 文件中(早期系统使用明文密码,现在都使用 shadow 密码) | | `UID` | 用户的唯一数字 ID(User ID) | | `GID` | 用户所属主组的唯一数字 ID(Group ID) | | `comment` | 用户的注释信息(如全名、描述等) | | `home_directory` | 用户的家目录路径(如 `/home/user1`) | | `shell` | 用户登录后使用的默认 shell(如 `/bin/bash`) | --- ## 🧾 二、示例 以下是一个 `/etc/passwd` 文件的示例内容: ``` root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin bin:x:2:2:bin:/bin:/usr/sbin/nologin sys:x:3:3:sys:/dev:/usr/sbin/nologin www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin user1:x:1000:1000:User One:/home/user1:/bin/bash ``` --- ## 🔍 三、关键字段详解 ### 1. **用户名(username)** - 每个用户的唯一标识。 - 通常由小写字母和数字组成,长度一般不超过 32 字符。 - 例如:`root`, `user1`, `guest` ### 2. **密码占位符(x)** - 在现代 Linux 系统中,密码不再存储在此文件中,而是存储在 `/etc/shadow` 中。 - 如果看到 `*` 或 `!`,表示该用户无法登录。 ### 3. **UID(User ID)** - 0 表示 root 用户。 - 1–999 通常是系统用户(system users)。 - 1000+ 为普通用户(normal users)。 ### 4. **GID(Group ID)** - 表示该用户的主要组(primary group)的 ID。 - 组信息存储在 `/etc/group` 中。 ### 5. **comment(注释)** - 通常包含用户的真实姓名或描述信息。 - 例如:`User One` ### 6. **home_directory(家目录)** - 用户登录后的默认工作目录。 - 例如:`/home/user1` ### 7. **shell(shell 解释器)** - 用户登录后运行的命令解释器。 - 常见的 shell: - `/bin/bash`:Bash shell - `/bin/sh`:Bourne shell - `/usr/sbin/nologin`:禁止登录 - `/bin/false`:拒绝登录 --- ## 🛡️ 四、注意事项 - **权限**:`/etc/passwd` 的权限通常是 `644`,即只有 root 可以写入,其他用户只能读取。 - **安全性**:由于密码信息不在这里,所以这个文件是安全的。 - **系统用户 vs 普通用户**: - 系统用户(如 `daemon`, `www-data`)通常 UID < 1000。 - 普通用户 UID ≥ 1000。 --- ## 🧪 五、常用命令 | 命令 | 说明 | |------|------| | `cat /etc/passwd` | 查看整个文件内容 | | `grep 'user1' /etc/passwd` | 查找特定用户 | | `getent passwd` | 查询所有用户信息(包括 NIS, LDAP 等) | | `id user1` | 显示用户 ID 和组信息 | --- ## ✅ 六、常见问题 ### Q1: 为什么 `/etc/passwd` 中的密码是 `x`? > 因为密码实际存储在 `/etc/shadow` 中,这是为了提高安全性。 ### Q2: 如何修改用户信息? > 使用 `usermod` 或 `vipw` 命令来编辑 `/etc/passwd`。 ### Q3: 为什么有些用户的 shell 是 `/usr/sbin/nologin`? > 这些用户不能登录系统,通常用于系统服务或后台进程。 --- 如果你需要更详细的讲解(比如 `/etc/shadow` 或 `/etc/group`),欢迎继续提问!
上一篇:
织梦CMS程序应用教程 内容模型管理
下一篇:
织梦CMS安装使用教程 站点评论管理
标题录入,一次不能超过6条
返回顶部
留言
留言
评论