id
是一个命令行实用程序,可以打印真实有效的用户和组 ID。
使用id
命令#
语法为id
命令如下:
如果省略用户名,则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 作为参数,则打印当前登录用户的信息。
如果您有任何疑问,请随时发表评论。