云网牛站
所在位置:首页 > Linux命令 > 讲解Linux系统下使用Id命令的方法,包括Id命令选项示例

讲解Linux系统下使用Id命令的方法,包括Id命令选项示例

2020-01-18 09:21:06作者:陈有利稿源:云网牛站

id是一个命令行实用程序,可打印真实有效的用户和组ID。以下为你讲解Linux操作系统下使用Id命令的方法,包括Id命令选项示例。

讲解Linux系统下使用Id命令的方法,包括Id命令选项示例

 

使用id命令

id命令的语法如下:

id [OPTIONS] [USERNAME]

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

在不带任何选项的情况下调用id时,将打印真实用户ID(uid),用户的真实主要组ID(gid)和用户所属的补充组(groups)的真实ID,仅当有效用户ID、组ID和补充组ID与实际用户ID不同时,才打印它们。

$ id

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

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

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

要获取有关另一个用户的信息,请将用户名或用户标识作为参数传递给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命令接受几个选项,这些选项仅允许显示特定信息,在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

ywnz

使用-un选项运行id命令将产生与运行whoami相同的输出,并且id -Gn的输出等同于groups命令的输出,参考groups命令_Linux 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

ywnzadmsudodocker

当将输出传递给可以解析换行符的命令时,这很有用。

 

结语

以上就是Id的使用方法,及命令选项示例。如果未提供用户名或ID作为参数,则id命令将显示有关给定用户或当前登录用户的信息。

 

相关主题

id命令_Linux id命令使用详解:显示用户的ID和所属群组的ID

Linux命令子频道
精选文章
热门文章