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作为参数,该命令将打印有关给定用户或当前登录用户的信息。

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

终奌站

Sidebar