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

相关推荐
ARM|X86+FPGA工业主板厂家几秒前
基于Jetson TX2的矿用巡检机器人
linux·运维·机器人
杨云龙UP8 分钟前
Oracle 19c RMAN历史备份清理失败:CONTROL_FILE_RECORD_KEEP_TIME 问题排查与整改实战
linux·运维·网络·数据库·oracle·rac
Alphapeople31 分钟前
moveit真机部署
linux·运维·服务器
Eminem891 小时前
2、k8s环境规划
linux·运维·kubernetes
打团从来人不齐1 小时前
Linux服务器搭建笔记-008:台式机共享WIFI
linux·服务器·笔记
天天喝旺仔2 小时前
Docker 镜像瘦身实战:多阶段构建把体积缩小 90%
运维·后端·ci/cd·docker·云原生·容器·性能优化
NJCloud2 小时前
Docker 私有仓库部署:Registry、加密传输与认证鉴权
运维·网络·docker·云原生·容器
w200512242 小时前
K8S控制器管理
linux·云原生·容器·kubernetes
Dream Cosmos2 小时前
Linux 多线程——线程互斥:从抢票问题到 Mutex 底层原理
linux·c++
玖石书2 小时前
Ubuntu 更换 USTC 镜像源完整指南(AMD64 / AARCH64)
linux·运维·ubuntu