id是一个命令行程序,可用于打印用户名,用户ID,用户组ID,SeLinux安全上下文,次要组ID。
在本教程中,我们将说明如何使用id命令和常见的选项。
id命令
id
命令的语法形式是id [OPTIONS] [USERNAME]
。如果省略用户名,id
命令打印当前登录用户相关的信息。
在不指定任何选项运行id
命令,id
打印当前用户ID/UID,用户的主要组ID/GID和用户次要组ID/groups 。
仅当用户ID有效时,才会打印用户主要组ID和次要组ID,否则终端将会打印用户不存在的消息id: ‘my’: no such user。
如果启用SELinux,id
命令还会打印用户的安全上下文context
。要获取另一个用户的相关信息,请将用户名或用户ID作为参数传递给id
命令:
id
uid=1000(myfreax) gid=1000(myfreax) groups=1000(myfreax) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
如果系统存在名称与ID相同的用户,则优先使用名称搜索用户。当使用用户ID作为参数时,请在ID前面添加加号+
,避免shell将ID解释为名称。
例如,如果您有一个名称为1010
用户和另一个ID为1010
的用户。如果运行命令id 1010
。
id 1010
命令将打印1010
用户的信息。要获取ID为1010
的用户的信息,请运行命令id +1010
。
id 1010
id +1010
id
命令选项
id
命令接受几个选项,这些选项仅允许您打印用户指定的信息。当在shell脚本中使用id
命令时,这会非常有用。
要仅打印用户ID,请使用id
命令-u
/--user
选项。-g
/--group
选项仅打印有效的组ID。-G
/--groups
选项仅打印用户次要组。
要打印名称而不包括数字,请使用id
命令-n
/--name
选项。-n
选项只能与-u
,-g
和-G
组合使用。
当指定-un
选项运行id
命令时,打印的结果与运行whoami
命令相同的输出,并且命令id -Gn
输出等同于groups
命令的输出。
id -u
id -g
id -G
id -un
-r
/--real
选项可以与-u
,-g
和-G
组合使用,仅打印用户ID,组ID,所有次要ID。
要仅打印进程安全上下文,通常是用户安全上下文,请使用id
命令的-Z
/--context
选项。
如果SELinux被禁用,id
打印错误消息id: --context (-Z) works only on an SELinux-enabled kernel。
id -ur
id -Gr
id -gr
id -Z
结论
如果没有提供用户名或ID作为id命令的参数,id
命令将打印当前登录用户的信息。如有任何疑问,请随时发表评论。