id命令详解 #用户和工作组管理

id命令可以显示真实有效的用户ID(UID)和组ID(GID)。UID 是对一个用户的单一身份标识。组ID(GID)则对应多个UID。id命令已经默认预装在大多数Linux系统中。要使用它,只需要在你的控制台输入id。不带选项输入id会显示如下。结果会使用活跃用户。

当我们想知道某个用户的UID和GID时id命令是非常有用的。一些程序可能需要UID/GID来运行。id使我们更加容易地找出用户的UID以GID而不必在/etc/group文件中搜寻。如往常一样,你可以在控制台输入man id进入id的手册页来获取更多的详情。

语法

id [-gGnru][--help][--version][用户名称]

选项

-g或--group   显示用户所属群组的ID。
-G或--groups   显示用户所属附加群组的ID。
-n或--name    显示用户,所属群组或附加群组的名称。
-r或--real    显示实际ID。
-u或--user    显示用户ID。
-help         显示帮助。
-version      显示版本信息。

实例

[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相关命令

命令简介
chage修改帐号和密码的有效期限
grpconv用来开启群组的投影密码
pwunconv用来关闭用户的投影密码
pwconv用来开启用户的投影密码
nologin拒绝用户登录系统
chpasswd批量更新用户口令的工具
grpunconv用来关闭群组的投影密码
grpck用于验证组文件的完整性
groupdel用于删除指定的工作组
chsh用来更换登录系统时使用的shell
gpasswdLinux下工作组文件的管理工具
pwck用来验证系统认证文件内容和格式的完整性
groupmod更改群组识别码或名称
passwd用于让用户可以更改自己的密码
chfn用来改变finger命令显示的信息
newusers用于批处理的方式一次创建多个命令
logname用来显示用户名称
groups用来打印指定用户所属的工作组
finger用于查找并显示用户信息
su用于切换当前用户身份到其他用户身份