跳到主要内容

用户和组 -- 系统的“身份证”体系

三类用户

Linux 把用户分为三种角色:

类型说明例子
超级用户系统的上帝,什么都能干UID=0
普通用户日常使用的账户,受限UID ≧ 1000 (通常)
系统用户给程序/服务用的,不能登录UID 通常在 1 - 999

UID (User ID) 是系统识别用户的唯一编号。用户名只是给人看的”昵称“,系统内部只用数字 UID。

组(Group) --- "俱乐部"的盖面

每一个用户可以属于多个组,就像一个人可以参加多个俱乐部。

  • 主组(Primary Group) :用户创建文件时,文件默认属于这个组
  • 附加组((Supplementary Groups) :用户额外加入的组,获得这些组的权限

关键配置文件

系统通过两个纯文本来管理用户和组:

/etc/passwd --- 用户列表(任何人可读):

root:x:0:0:root:/root:/bin/bash
alice:x:1000:1000:Alice:/home/alice:/bin/bash
nginx:x:997:995:Nginx web server:/var/lib/nginx:/sbin/nologin

格式: 用户名:密码占位符:UID:GID:描述:home 目录:Shell

信息

密码不在 /etc/passwd 里,真正的密码哈希在 /etc/shadow

/etc/group --- 组列表:

root:x:0:
docker:x:993:alice,bob
wheel:x:10:alice

格式:组名:密码占位符:GID:成员列表

查看当前身份信息

whoami # 我是谁?→ 输出当前用户名
id # 详细信息:UID、GID、所属组
groups # 我属于哪些组?