Linux 中的 id 命令

2023-11-03

id是一个命令行实用程序,可以打印真实有效的用户和组 ID。

使用id命令#

语法为id命令如下:

id [OPTIONS] [USERNAME]

如果省略用户名,则id命令显示有关当前登录用户的信息。

当没有任何选项调用时,id打印真实用户 ID (uid),用户的真实主组ID(gid),以及补充组的真实ID(groups) 用户所属。仅当有效用户 ID、组 ID 和补充组 ID 与真实 ID 不同时,才会打印有效用户 ID、组 ID 和补充组 ID。

id
uid=1000(linuxize) gid=1000(linuxize) groups=1000(linuxize),4(adm),27(sudo),998(docker)

如果启用了 SELinux,则id还打印用户的安全上下文(context):

uid=1000(linuxize) gid=1000(linuxize) groups=1000(linuxize) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

要获取有关其他用户的信息,请将用户名或用户 ID 作为参数传递给id命令:

id mark
uid=1001(mark) gid=1001(mark) groups=1001(mark),998(docker)

如果系统上存在名称与提供的 ID 相同的用户,则名称查找优先。当使用用户 ID 作为参数时,请在 ID 前添加前缀+符号以避免将 ID 解释为名称。

例如,如果您有一个名为1010和另一个有 ID 的用户1010,如果您输入id 1010该命令将显示有关名称的用户的信息1010。获取用户ID信息1010, type id +1010.

id命令选项#

The id命令接受多个选项,允许您仅显示特定信息。使用时这很有用id在 shell 脚本中。

要仅打印有效用户 ID,请使用-u (--user) 选项:

id -u 
1000

The -g (--group) 选项告诉id仅打印有效组 ID:

id -g
1000 4 27 998

Use the -G (--groups) 打印所有有效 ID 的选项用户所属的组 to:

id -G
1000

要打印名称而不是数字,请使用-n, --name选项。该选项只能与-u, -g and -G.

id -un
linuxize

运行id命令与-un选项产生与运行相同的输出whoami,以及输出id -Gn相当于输出groups命令。

The -r, (--real) 选项可以与-u, -g and -G打印真实值而不是有效值:

id -ur

要仅打印进程的安全上下文(通常是用户的安全上下文),请使用-Z (--context) 选项:

id -Z
unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

If SELinux 已禁用 , id打印一条错误消息:

id: --context (-Z) works only on an SELinux-enabled kernel

The -z (--zero) 选项告诉id使用 NUL 字符而不是空格来分隔输出项:

id -znG
linuxizeadmsudodocker

当将输出传输到可以解析换行符的命令时,这非常有用

结论#

The id命令打印有关给定用户的信息,如果没有提供用户名或 ID 作为参数,则打印当前登录用户的信息。

如果您有任何疑问,请随时发表评论。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux 中的 id 命令 的相关文章

随机推荐

  • S3FS:在 Ubuntu 和 Debian 系统上安装 Amazon S3 存储桶

    Amazon S3 是一种高度可扩展且持久的对象存储服务 允许您从网络上的任何位置存储和检索任意数量的数据 S3FS 是 Amazon S3 的 FUSE 用户空间中的文件系统 接口 允许您将 Amazon S3 存储桶作为本地文件系统挂载
  • 如何在 CentOS/RHEL 8 上创建没有 Shell 访问权限的 SFTP 用户

    SFTP SSH 文件传输协议 是两个系统之间的安全文件传输协议 它通过 SSH 协议运行并共享相同的端口 22 本教程将帮助您在 CentOS 8 和 RedHat 8 系统上创建仅 SFTP 访问用户 无 ssh 访问权限 用户只能通过
  • 什么是MySQL?

    MySQL 是一个存储网站数据的数据库系统 它是一种 RDBMS 关系数据库管理系统 这意味着它将数据组织到表中 您可以使用 SQL 命令访问和更新数据 许多流行网站都使用 MySQL 包括 Facebook Twitter 和 YouTu
  • 如何在 Bash 中创建和使用数组

    Bash 是一种流行的命令行界面 常用于 Linux 和基于 Unix 的系统 Bash 的强大功能之一是能够使用数组 Bash 数组提供了一种在单个变量中存储多个值的方法 从而可以轻松访问和操作这些值 在本教程中 我们将探索如何在 Bas
  • 解决“laravel.log 无法打开”的问题:分步解决方案

    Laravel 是一个富有表现力且优雅的 PHP 框架 由于其语法和强大的功能而被广泛应用于 Web 应用程序开发 然而 与所有技术一样 它也并非没有挑战 许多开发人员遇到的一个常见错误是 laravel log 无法打开 错误 本文提供了
  • 如何在 Ubuntu 22.04 中创建 SFTP 用户(无 Shell 访问)

    SFTP 是一种允许通过网络安全传输文件的协议 它经常被企业和个人用来传输敏感数据 SFTP 与 FTP 类似 但使用不同的协议进行通信 SFTP 比 FTP 更安全 通常与 SSH Secure Shell 结合使用以提供更高级别的安全性
  • 如何在 Debian 8 上安装和配置 Squid Proxy

    Squid 是类 Unix 操作系统上流行的代理服务器 它还用于网页过滤 它广泛用于通过缓存重复数据来提高 Web 服务器速度 本教程帮助您在 Debian 8 Jessie 系统上安装 Squid 代理服务器 还提供代理服务器的基本配置详
  • 从 Linux 文件中删除具有匹配模式的行

    操作文件是掌握 Linux 的基本部分 了解如何删除与特定模式匹配的行尤其有用 这可以使用多种命令行工具来实现 例如 grep sed 和 awk 在本文中 我们将探讨如何使用这些工具从 Linux 文件中查找和删除与特定模式匹配的行 开始
  • ffmpeg:加载共享库时出错:libavdevice.so.55:无法打开共享对象文件:没有这样的文件或目录

    Error 在 CentOS 6 5 服务器上安装 ffmpeg 后 我遇到以下错误 ffmpeg error while loading shared libraries libavdevice so 55 cannot open sha
  • 如何在 Debian 8 上安装 PHP(7.2、7.1 和 5.6)

    PHP 7 2 是可供安装的最新稳定版本 本教程将帮助您在系统上安装多个 PHP 版本 现在按照本教程在 Debian 8 Jessie 上安装 PHP 先决条件 使用 shell 访问登录到您的 Debian 8 系统 对于远程系统 使用
  • 如何在 Windows 批处理脚本中添加睡眠/等待

    您可以使用timeout命令等待命令提示符或批处理脚本指定的时间 时间定义为Seconds 例如等待5秒使用 使用 T选项 c gt timeout T 5 您还可以直接指定秒 例如 c gt timeout 5 上述命令将在按任意键时中断
  • 如何在 CentOS 7 上安装 Apache Maven

    Apache Maven 是一个免费的开源项目管理和理解工具 主要用于 Java 项目 Maven 使用项目对象模型 POM 它本质上是一个 XML 文件 其中包含有关项目 配置详细信息 项目依赖项等的信息 在本教程中 我们将向您展示在 C
  • 如何在 CentOS 8 上安装和配置 ownCloud

    ownCloud是一个用于管理和共享文件的开源 自托管云平台 它可以用作 Dropbox Microsoft OneDrive 和 Google Drive 的替代品 ownCloud 可通过应用程序进行扩展 并拥有适用于所有主要平台的桌面
  • 如何在 Ubuntu 18.04 上安装 VMware Workstation Player

    VMware是一个成熟稳定的虚拟化解决方案 允许您在一台机器上运行多个独立的操作系统 借助 VMware Workstation Player 您可以创建并运行自己的虚拟机 并评估由许多软件供应商提供的作为虚拟设备分发的软件VMware 解
  • 如何在 CentOS 7 上安装 Pip

    Pip 是一个包管理系统 可简化用 Python 编写的软件包 例如 Python 包索引 PyPI 中的软件包 的安装和管理 CentOS 7 上默认不安装 Pip 但安装非常简单 在本教程中 我们将逐步完成安装 Python 所需的步骤
  • 如何设置自动 Odoo 备份

    在本教程中 我们将引导您完成创建 Odoo 数据库的自动每日备份的过程 Odoo 是最流行的开源 ERP 系统 用 Python 编写 并使用 PostgreSQL 作为数据库后端 Odoo 将其数据存储在 PostgreSQL 数据库中
  • 如何在 Ubuntu 18.04 上安装和配置 Nagios

    Nagios 是最流行的开源监控系统之一 Nagios 保留整个 IT 基础设施的清单 并确保您的网络 服务器 应用程序 服务和流程正常运行 如果发生故障或性能不佳 Nagios 将通过各种方法发送通知警报 本教程将指导您完成在 Ubunt
  • 如何在 Debian 9 上设置 OpenVPN 服务器

    无论您是想在连接不可信的公共 Wi Fi 网络时安全可靠地访问互联网 绕过地理限制内容还是允许您的同事在远程工作时安全地连接到您的公司网络 使用 VPN 都是最佳解决方案 VPN 允许您连接到远程 VPN 服务器 使您的连接加密且安全 并通
  • 如何使用 Linux 命令行删除文件和目录

    本教程将向您展示如何使用rm unlink and rmdirLinux 中删除文件和目录的命令 如何删除文件 要从命令行删除 或删除 Linux 中的文件 请使用rm 删除 或unlink命令 The unlink命令允许您仅删除单个文件
  • Linux 中的 id 命令

    id是一个命令行实用程序 可以打印真实有效的用户和组 ID 使用id命令 语法为id命令如下 id OPTIONS USERNAME 如果省略用户名 则id命令显示有关当前登录用户的信息 当没有任何选项调用时 id打印真实用户 ID uid