Linux 的 id 命令

id 是 Linux 系统中一个常用的命令行工具,用于显示用户和组的身份信息。

基本功能

id 命令可以显示当前用户或指定用户的以下信息:

  • 用户 ID (UID)
  • 主组 ID (GID)
  • 所属的所有组 (Groups)
  • 用户名和组名(当与数字 ID 对应时)

常用命令格式

bash 复制代码
id [选项] [用户名]

如果不指定用户名,则显示当前用户的信息。

主要选项

  1. -u:仅显示用户 ID (UID)

    bash 复制代码
    $ id -u
    1000
  2. -g:仅显示主组 ID (GID)

    bash 复制代码
    $ id -g
    1000
  3. -G:显示用户所属的所有组 ID

    bash 复制代码
    $ id -G
    1000 4 24 27 30 46 108 124
  4. -n:显示名称而非数字 ID(需与 -u/-g/-G 配合使用)

    bash 复制代码
    $ id -ng
    users
  5. -r:显示实际 ID 而非有效 ID(在 setuid/setgid 程序中有用)

实用示例

  1. 显示当前用户的完整信息:

    bash 复制代码
    $ id
    uid=1000(user1) gid=1000(user1) groups=1000(user1),4(adm),24(cdrom),27(sudo)
  2. 显示指定用户的信息:

    bash 复制代码
    $ id root
    uid=0(root) gid=0(root) groups=0(root)
  3. 获取当前用户的用户名:

    bash 复制代码
    $ id -un
    user1
  4. 检查用户是否属于特定组(结合 grep 使用):

    bash 复制代码
    $ id | grep sudo

应用场景

  1. 脚本编写:在自动化脚本中获取用户权限信息

    bash 复制代码
    if [ $(id -u) -ne 0 ]; then
        echo "请使用 root 用户运行此脚本"
        exit 1
    fi
  2. 权限调试:检查用户所属组是否包含所需的权限组

  3. 系统管理:快速查看多个用户的权限配置情况

  4. 安全审计:验证用户的组成员关系是否符合安全策略

注意事项

  1. 普通用户只能查看自己和部分其他用户的信息,而 root 用户可以查看所有用户的信息

  2. 在某些系统上,id 命令的输出格式可能略有不同

  3. 在嵌入式系统或最小化安装中,id 命令可能不可用

相关推荐
敖行客 Allthinker8 小时前
Parallels Ubuntu虚拟机项目如何让手机访问?完整解决方案
linux·运维·ubuntu
keyipatience9 小时前
线程栈与TLS和线程互斥
java·linux·服务器·开发语言·ubuntu
元Y亨H9 小时前
生产环境监控与故障应急处理(5-5-5 标准)指南
运维
j7~9 小时前
【Linux】二十二.《Linux 信号机制完全指南:表示、捕捉与处理》
linux·信号处理·volatile·可入重函数·保存信号
观山岳五楼10 小时前
Ubuntu 24 怎么使用Ubuntu 20 的镜像源
linux·运维·ubuntu
星夜夏空9910 小时前
网络编程(1)
服务器·网络
川石课堂软件测试10 小时前
安全测试|常见SQL注入攻击方式、实例及预防
服务器·数据库·sql·功能测试·测试工具·安全·单元测试
m0_7156467611 小时前
20260720
linux·arm
寒晓星11 小时前
[linux]线程及多线程
linux·运维
辰痕~11 小时前
物理机装Linux操作系统(Ubuntu为例)
linux·ubuntu