打印真实以及有效的用户和所在组的信息。

概要

id [OPTION]... [USER]...

主要用途

  • 没有选项时,打印指定用户 ID 信息。

选项

-a               兼容性选项,没有实际作用。
-Z, --context    只打印进程的安全上下文。
-g, --group      只打印有效的组 ID。
-G, --groups     打印全部组 ID。
-u, --user       只打印有效的用户 ID。
-z, --zero       使用空字符代替默认的空格来分隔条目。
--help           显示帮助信息并退出。
--version        显示版本信息并退出。

只有在使用 -u -g -G 选项中一到多个时,以下选项可以使用:

-n, --name    打印名称而不是数字。
-r, --real    打印真实 ID 而不是有效 ID。

参数

user(可选):可以为一到多个,默认为当前用户。

返回值

返回 0 表示成功,返回非 0 值表示失败。

例子

[root@localhost ~]# id
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)

解释:用户 root 的 UID 号码 = 0,GID 号码 = 0。用户 root 是下面组的成员:

  • root 组 GID 号是:0

  • bin 组 GID 号是:1

  • daemon 组 GID 号是:2

  • sys 组 GID 号是:3

  • adm 组 GID 号是:4

  • disk 组 GID 号是:6

  • wheel 组 GID 号是:10

打印用户名、UID 和该用户所属的所有组,要这么做,我们可以使用 -a 选项:

[root@localhost ~]# id -a
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)

输出所有不同的组 ID ,有效的,真实的和补充的,我们可以使用 -G 选项来实现:

[root@localhost ~]# id -G
0 1 2 3 4 6 10

结果只会显示 GID 号。你可以和/etc/group文件比较。下面是/etc/group文件的示例内容:

只输出有效的组 ID,通过使用 -g 选项来只输出有效组 ID:

[root@localhost ~]# id -g
0

输出特定用户信息,我们可以输出特定的用户信息相关的 UID 和 GID。只需要在 id 命令后跟上用户名:

[root@localhost ~]# id www
uid=500(www) gid=500(www) groups=500(www)

注意

  • 该命令可以显示真实有效的用户 ID(UID) 和组 ID(GID)。UID 是对一个用户的单一身份标识。组 ID(GID)则对应多个 UID;一些程序可能需要 UID/GID 来运行。id 使我们更加容易地找出用户的 UID 以及 GID,而不必在 /etc/group 文件中搜寻。

  • 该命令是GNU coreutils包中的命令,相关的帮助信息请查看man -s 1 idinfo coreutils 'id invocation'