linuxid命令解析
linuxid命令解析详细介绍
在 Linux 系统中,id 命令用于显示用户的身份信息,包括用户 ID(UID)、组 ID(GID)以及所属的附加组等。以下是对该命令的详细解析:
一、命令语法
bash
选项 用户名
- 若不指定用户名,默认显示当前登录用户的信息。
- 若指定用户名(需有权限访问该用户信息),则显示对应用户的信息。
二、输出字段解析
默认输出(以用户 user1 为例):
bash
user1 user1 组user1,27sudo,100users
- uid:用户 ID(User ID),唯一标识用户的数字 ID。
- gid:主组 ID(Primary Group ID),用户所属的主组 ID(创建用户时默认生成的同名组)。
- 组:附加组(Supplementary Groups),用户所属的其他组 ID 及名称(逗号分隔)。
三、常用选项
| 选项 | 描述 |
|---|---|
-u, --user |
仅显示用户 ID(UID)。 |
-g, --group |
仅显示主组 ID(GID)。 |
-G, --groups |
显示所有组的 ID(包括主组和附加组)。 |
-n, --name |
配合 -u/-g/-G 使用,显示名称而非 ID(例如 -un 显示用户名)。 |
-r, --real |
显示实际用户 / 组 ID(针对切换用户场景,如 su 或 sudo,默认显示有效 ID)。 |
-z, --zero-padded |
以固定宽度显示 ID(补零,常用于脚本对齐输出)。 |
-m, --nis |
显示 NIS 域名(适用于 NIS 网络环境,现代 Linux 较少使用)。 |
四、典型示例
- 显示当前用户的完整信息:
bash - 仅显示用户 ID(数字):
bash - 显示用户名(配合
-n):
bash - 显示所有组的名称:
bash - 检查指定用户的信息(如
root):
bashroot - 区分有效 ID 和实际 ID(切换用户场景):
- 有效 ID(默认):用户当前操作的权限依据(如
su user1后,有效 ID 变为user1)。 - 实际 ID:用户初始登录的 ID(如
su user1后,实际 ID 仍为原用户,需用-r查看)。bash- user1- user1
- 有效 ID(默认):用户当前操作的权限依据(如
五、注意事项
- 权限要求:查看其他用户信息需有对应权限(普通用户可查看公开的用户,如
/etc/passwd中的信息)。 - 组的分类:
- 主组(Primary Group):每个用户必须属于一个主组(创建用户时自动生成,GID 与 UID 相同)。
- 附加组(Supplementary Groups):用户可加入多个附加组(通过
usermod -aG 组名 用户名添加)。
- 与其他命令的关联:
whoami:快速查看当前用户名(等价于id -un)。groups:仅显示用户所属的组名称(不包含 UID/GID)。
总结
id 命令是 Linux 中查看用户身份和权限的核心工具,常用于脚本编写(如权限校验)或手动排查用户组相关问题。通过组合使用 -u/-g/-G 和 -n 选项,可灵活获取所需的用户或组信息。