在linux系统中,每个用户都对应唯一的UID(用户标识符)和GID(组标识符),这两个参数是系统识别用户身份、分配文件权限的核心依据。了解如何快速查看用户的UID和GID,是linux系统管理的基础技能,适用于权限排查、用户身份校验等多种场景。

使用id命令查看
id命令是最常用的查看用户UID和GID的方式,无需额外操作就能直接输出当前用户或指定用户的身份信息,结果清晰直观。
查看当前用户的UID和GID
直接执行id命令,不需要加任何参数,就能输出当前登录用户的全部身份标识信息:
# 查看当前用户的UID、GID及所属组信息 id
输出结果通常包含uid、gid以及groups字段,其中uid后面的值就是当前用户的UID,gid后面的值是当前用户的主组GID,groups后面的所有值对应用户所属的全部组GID。
查看指定用户的UID和GID
如果需要查看其他用户的身份信息,只需要在id命令后面加上目标用户名即可:
# 查看用户test的UID和GID id test
如果系统存在test用户,就会输出对应的身份标识信息,如果用户不存在则会提示错误。
查看/etc/passwd文件
/etc/passwd是linux系统存储用户基础信息的配置文件,所有用户的基本属性都记录在这个文件中,我们可以通过查看这个文件获取用户的UID和GID。
使用cat命令查看文件全部内容,或者配合grep命令过滤指定用户的信息:
# 查看所有用户信息 cat /etc/passwd # 查看用户test的信息 grep "test" /etc/passwd
/etc/passwd文件中每一行对应一个用户,每行内容用冒号分隔成7个字段,格式为username:x:uid:gid:comment:home:shell,其中第三个字段就是用户的UID,第四个字段就是用户的主组GID。
使用getent命令查看
getent命令可以获取系统数据库中的条目,包括用户、组等信息,也能用来查询用户的UID和GID,这种方式兼容多种用户存储方式,比如本地用户和LDAP用户都能查询。
# 查看用户test的UID和GID getent passwd test
输出格式和/etc/passwd中对应行的内容一致,第三个字段是UID,第四个字段是GID。
查看/etc/group文件获取组GID
如果需要确认某个组对应的GID,或者查看用户所属附加组的GID,可以查看/etc/group文件,这个文件存储了所有组的基础信息。
# 查看所有组信息 cat /etc/group # 查看组test_group的GID grep "test_group" /etc/group
/etc/group文件每行内容用冒号分隔成4个字段,格式为groupname:x:gid:userlist,第三个字段就是该组的GID。
不同方式对比
以下是几种常用查看方式的对比,方便根据实际场景选择:
| 查看方式 | 适用场景 | 优势 |
|---|---|---|
| id命令 | 快速查看用户身份标识 | 输出简洁,直接显示UID、GID及所属组 |
| /etc/passwd文件 | 需要查看用户完整基础信息 | 信息全面,可批量查看所有用户 |
| getent命令 | 兼容多种用户存储源 | 支持本地、LDAP等多种用户场景 |
| /etc/group文件 | 查询组对应的GID | 可单独查看组信息,确认组标识 |