简介
在本实验中,你将学习如何了解 Linux 系统中有哪些「人」。
可以把它想象成一栋公寓楼:
- 用户:租户。
- 组:访问名单(健身房组、游泳池组)。
系统会维护一份记录所有人的「总目录」。在本实验中,我们将打开这份目录。
Linux 从 Unix 继承了强大的多用户设计。即使在一个小型实验系统中,表面上只有你一个人在操作,操作系统仍然会根据账户、组、所有权和受控访问来管理系统。
查看用户列表(/etc/passwd)
用户的「总目录」是 /etc/passwd。
可以把这个文件看作一个电子表格。各列使用冒号 : 分隔。
过去,/etc/passwd 确实是类 Unix 系统中的核心账户数据库之一。现代系统对密码的处理比早期更加安全,但账户记录结构仍然是 Linux 身份管理的基础。
查看该文件:
cat /etc/passwd
输出示例:
root:x:0:0:root:/root:/bin/bash
labex:x:5000:5000::/home/labex:/usr/bin/zsh
...
下面解析 labex:x:5000:5000::/home/labex:/usr/bin/zsh:
- 用户名:
labex - 密码:
x(存储在其他位置) - 用户 ID(UID):
5000 - 组 ID(GID):
5000 - 信息:(空)
- 主目录:
/home/labex - Shell:
/usr/bin/zsh
这些字段与本课程后续内容直接相关,包括身份、主组成员关系、主目录,以及登录后启动的 Shell。
识别 root 用户(UID 0)
root 用户就像公寓管理员,拥有所有区域的钥匙。
查找 root 条目:
grep "^root" /etc/passwd
输出:
root:x:0:0:root:/root:/bin/bash
UID 是第 3 个字段,其值为 0。在 Linux 中,UID 0 表示不受限制的权限。
因此,Linux 权限通常既使用数字身份来讨论,也使用名称来讨论。名称便于人类理解,但系统内部会密切关注 ID。
识别你的用户
查找你自己的条目(labex):
grep "^labex" /etc/passwd
输出:
labex:x:5000:5000::/home/labex:/usr/bin/zsh
你的 UID 是 5000。
你的主目录是 /home/labex。
检查组(id)
/etc/passwd 只列出你的主组。要查看你拥有的全部「访问凭证」,请使用 id。
id
输出:
uid=5000(labex) gid=5000(labex) groups=5000(labex),27(sudo)...
这就是你的身份卡:
uid:当前用户。gid:主组。groups:所属的所有组。
你属于 sudo 组(ID 为 27)。这使你可以执行 root 的操作!
组成员关系是 Linux 管理共享访问权限的主要方式之一。系统不必为每个用户逐一授予所有权限,而是可以将用户分配到组,然后为这些组应用规则。
总结
在本实验中,你探索了 Linux 系统中的「人物关系」。你学习了:
- 用户定义在
/etc/passwd文件中。 - UID 0 属于
root,即系统管理员(公寓管理员)。 - 在本系统中,UID 5000 分配给你的用户账户。
- 组控制对共享资源的访问。
id命令显示你的完整身份信息,包括你所属的、可以作为「钥匙」使用的组。
理解这些身份非常重要,因为 Linux 中的每项权限——谁可以读取文件或运行程序——都建立在这些 ID 的基础上。



