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

相关推荐
Acrellea12 分钟前
ADL200W/ADL400W 导轨电表:一块小表终结光储防逆流之痛
运维·能源
哎呦,帅小伙哦12 分钟前
Linux系统中/proc/diskstats文件字段解析
linux
xiaoxiangsiyan12 分钟前
企业网络运维自动化与管理协议深度指南
linux·运维·服务器·网络·学习·自动化
我是小灰灰吖16 分钟前
Ubuntu22.04,OpenCV 4.5.5 环境搭建
linux·qt·ubuntu
七仔啊19 分钟前
windows server 2022 安装 Linux Docker
linux·windows·docker
風穆21 分钟前
多云时代的“服务器比价网”:OopsVPS 实用主义指南
服务器
AIgorithmGEEK23 分钟前
Linux 进程控制完全指南:fork、wait、exec 三部曲
linux·运维·多进程·进程创建·进程等待·进程终止·exec家族
wgh65325 分钟前
旁挂组网双机热备负载分担
运维·服务器
2301_7779983428 分钟前
网络基础(一):协议与网络传输基本流程
linux·网络
2401_8949155334 分钟前
部署 GEO 优化源码常见报错排查:端口、伪静态、缓存问题解决
java·运维·服务器·后端·缓存·开源