Linux id命令获取用户信息
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命令:
iduid=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命令将打印当前登录用户的信息。如有任何疑问,请随时发表评论。