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 命令可能不可用

相关推荐
AC赳赳老秦27 分钟前
供应链专员提效:OpenClaw自动跟踪物流信息、更新库存数据,异常自动提醒
java·大数据·服务器·数据库·人工智能·自动化·openclaw
夏日听雨眠44 分钟前
LInux(逻辑地址与物理地址的区别,文件描述符,lseek函数)
linux·运维·网络
哲霖软件2 小时前
ERP 赋能非标自动化行业:破解物料与库存管理难题
运维·自动化
qq_542515413 小时前
Ubuntu 22.04.4 LTS安装ToDesk最新版打不开,无响应?旧版本4.7.2_277版本分享
linux·ubuntu·todesk
火车叼位3 小时前
替代 Tiny Win10 的 Linux 方案:Debian XFCE 精简桌面搭建
linux·运维
小麦嵌入式3 小时前
FPGA入门(四):时序逻辑计数器原理与 LED 闪烁实现
linux·驱动开发·stm32·嵌入式硬件·fpga开发·硬件工程·dsp开发
皮卡蛋炒饭.4 小时前
传输层协议UDP
linux·网络协议·udp
大明者省4 小时前
宝塔开了端口,Ubuntu 还得开相应端口才能打通
服务器·数据库·ubuntu
syagain_zsx4 小时前
Linux指令初识(实用篇)
linux·运维·服务器
OYangxf4 小时前
Git Commit Message
运维·git