id 是 Linux 系统中一个常用的命令行工具,用于显示用户和组的身份信息。
基本功能
id 命令可以显示当前用户或指定用户的以下信息:
- 用户 ID (UID)
- 主组 ID (GID)
- 所属的所有组 (Groups)
- 用户名和组名(当与数字 ID 对应时)
常用命令格式
bash
id [选项] [用户名]
如果不指定用户名,则显示当前用户的信息。
主要选项
-
-u:仅显示用户 ID (UID)bash$ id -u 1000 -
-g:仅显示主组 ID (GID)bash$ id -g 1000 -
-G:显示用户所属的所有组 IDbash$ id -G 1000 4 24 27 30 46 108 124 -
-n:显示名称而非数字 ID(需与 -u/-g/-G 配合使用)bash$ id -ng users -
-r:显示实际 ID 而非有效 ID(在 setuid/setgid 程序中有用)
实用示例
-
显示当前用户的完整信息:
bash$ id uid=1000(user1) gid=1000(user1) groups=1000(user1),4(adm),24(cdrom),27(sudo) -
显示指定用户的信息:
bash$ id root uid=0(root) gid=0(root) groups=0(root) -
获取当前用户的用户名:
bash$ id -un user1 -
检查用户是否属于特定组(结合 grep 使用):
bash$ id | grep sudo
应用场景
-
脚本编写:在自动化脚本中获取用户权限信息
bashif [ $(id -u) -ne 0 ]; then echo "请使用 root 用户运行此脚本" exit 1 fi -
权限调试:检查用户所属组是否包含所需的权限组
-
系统管理:快速查看多个用户的权限配置情况
-
安全审计:验证用户的组成员关系是否符合安全策略