Linux的id命令
id
是一个命令行程序,可用于打印用户名,用户ID,组ID,SeLinux的安全上下文,补充组ID。
在本教程中,我们将说明如何使用id命令和常见的选项。例如打印用户名,用户ID,组ID,SeLinux的安全上下文,补充组ID等。
使用id
命令
id
命令的语法如下:
id [OPTIONS] [USERNAME]
如果省略用户名,则id
命令打印当前登录用户相关的信息。在不带任何选项的情况下调用时,id
打印当前用户ID(uid
),用户的主要组ID(gid
)和用户所属的补充组的ID(groups
) 。 有效的用户ID,组ID和补充组ID仅在与实际用户ID,组ID和补充组ID不同时才打印。
id
uid=1000(myfreax) gid=1000(myfreax) groups=1000(myfreax),4(adm),27(sudo),998(docker)
如果启用了SELinux,则id
还会打印用户的安全上下文(context
):
uid=1000(myfreax) gid=1000(myfreax) groups=1000(myfreax) 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
命令接受几个选项,这些选项仅允许您打印指定的信息。在shell脚本中使用id命令
时,这会很有用。例如仅打印有效的用户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
myfreax
使用-un
选项运行id
命令会产生与运行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
myfreaxadmsudodocker
这在将输出传递到可以解析换行符的命令时很有用
结论
如果没有提供用户名或ID作为参数,则id
命令将打印指定用户或当前登录用户的信息。如有任何疑问,请随时发表评论。
以上是 Linux的id命令 的全部内容, 来源链接: utcz.com/z/507613.html