Linux中的ID命令
id
是一个命令行实用程序,可打印真实有效的用户和组ID。
使用 id
命令#
的语法 id
命令如下:
id [OPTIONS] [USERNAME]
如果省略用户名,则 id
命令显示有关当前登录用户的信息。
如果没有任何选择地被调用, id
打印真实的用户ID(uid
),用户的真实主要组ID(gid
)以及补充组的真实ID(groups
)用户所属。 仅当有效用户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
,类型 id +1010
。
id
命令选项
的 id
该命令接受几个选项,这些选项仅允许您显示特定信息。 使用时这很有用 id
在shell脚本中。
要仅打印有效的用户ID,请使用 -u
(--user
) 选项:
id -u
1000
的 -g
(--group
)选项告诉 id
只打印有效的组ID:
id -g
1000 4 27 998
使用 -G
(--groups
)选项可显示用户所属的所有组的有效ID:
id -G
1000
要打印名称而不是数字,请使用 -n
, --name
选项。 此选项只能与 -u
, -g
和 -G
。
id -un
linuxize
运行 id
用命令 -un
选项产生与运行相同的输出 whoami
,以及的输出 id -Gn
等价于 groups
命令。
的 -r
,(--real
)选项可以与 -u
, -g
和 -G
打印实际值,而不是有效值:
id -ur
要仅打印流程的安全上下文(通常是用户的安全上下文),请使用 -Z
(--context
) 选项:
id -Z
unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
如果SELinux被禁用, id
显示错误信息:
id: --context (-Z) works only on an SELinux-enabled kernel
的 -z
(--zero
)选项告诉 id
用NUL字符而不是空格来分隔输出项:
id -znG
linuxizeadmsudodocker
当将输出通过管道传递到可以解析换行符的命令时,这很有用
结论#
的 id
如果没有提供用户名或ID作为参数,该命令将打印有关给定用户或当前登录用户的信息。
如有任何疑问,请随时发表评论。
终奌站