> For the complete documentation index, see [llms.txt](https://man.bsdcn.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://man.bsdcn.org/man1/id.1.md).

# id.1

ID(1)

FreeBSD General Commands Manual

ID(1)

## 名称

`id` —

返回用户身份

## 概要

`id` \[user] `id` `-A` `id` `-G` \[`-n`] \[user] `id` `-M` `id` `-P` \[user] `id` `-c` `id` `-d` \[user] `id` `-g` \[`-nr`] \[user] `id` `-p` \[user] `id` `-s` \[user] `id` `-u` \[`-nr`] \[user]

## 描述

`id` 实用程序将调用进程的用户名和组名以及数字 ID 显示到标准输出。 如果真实 ID 和有效 ID 不同，则两者都显示，否则只显示真实 ID。

如果指定了 user （登录名或用户 ID），则显示该用户的用户和组 ID。 在这种情况下，假定真实 ID 和有效 ID 相同。

选项如下：

`-A`

显示进程审计用户 ID 和其他进程审计属性，此操作需要特权。

`-G`

将不同的组 ID（有效、真实和补充）显示为空格分隔的数字，无特定顺序。

`-M`

显示当前进程的 MAC 标签。

`-P`

将 id 显示为密码文件条目。

[`-a`](#a)

忽略与其他 `id` 实现的兼容性。

[`-c`](#c)

显示当前登录类别。

[`-d`](#d)

显示当前或指定用户的主目录。

[`-g`](#g)

将有效组 ID 显示为数字。

[`-n`](#n)

显示 `-G`, `-g` 和 `-u` 选项的用户名或组 ID，而不是数字。 如果任何 ID 编号无法映射到名称，则该编号将照常显示。

[`-p`](#p)

使输出可读。 如果 getlogin(2) 返回的用户名与用户 ID 引用的登录名不同，则显示 getlogin(2) 返回的名称，前面带有关键字 “login” 。 将用户 ID 作为名称显示，前面带有关键字 “uid” 。 如果有效用户 ID 与真实用户 ID 不同，则将真实用户 ID 作为名称显示，前面带有关键字 “euid” 。 如果有效组 ID 与真实组 ID 不同，则将真实组 ID 作为名称显示，前面带有关键字 “rgid” 。 然后以名称形式显示用户所属的组列表，前面带有关键字 “groups” 。 每项显示内容都在单独的一行上。

[`-r`](#r)

显示 `-g` 和 `-u` 选项的真实 ID，而不是有效 ID。

[`-s`](#s)

显示当前或指定用户的 shell。

[`-u`](#u)

将有效用户 ID 显示为数字。

## 退出状态

`id` 实用程序在成功时退出值为 0，发生错误时退出值大于 0。

## 实例

将用户 ‘`bob`’ 的信息显示为密码文件条目：

```sh
$ id -P bob
bob:*:0:0::0:0:Robert:/bob:/usr/local/bin/bash
```

对于 root 用户，输出与 groups(1) 相同：

```sh
$ id -Gn root
wheel operator
```

显示有关 ‘`alice`’ 的人类可读信息：

```sh
$ id -p alice
uid     alice
groups  alice webcamd vboxusers
```

假设用户 ‘`bob`’ 执行了 “`su` `-l`” 来模拟 root 登录，比较以下命令的结果：

```sh
# id -un
root
# who am i
bob          pts/5        Dec  4 19:51
```

## 参见

groups(1), who(1), groups(7)

## 标准

`id` 实用程序应符合 IEEE Std 1003.1-2024 。 `-A`, `-M`, `-P`, `-c`, `-d`, `-p` 和 `-s` 选项是 FreeBSD 扩展。

## 历史

早期的 groups(1) 命令等同于 “`id` `-Gn` \[user]” 。

早期的 whoami(1) 命令等同于 “`id` `-un`” 。

`id` 命令出现在 4.4BSD 中。

April 19, 2026

FreeBSD 13.1-RELEASE
