一、使用命令查看当前登录用户所在的用户组
$ id
uid=1000(username) gid=1000(username) groups=1000(username),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),116(lpadmin),126(sambashare)
上述命令中,id
表示查看当前用户的 ID 信息,包括用户 ID(uid
)、所在用户组 ID(gid
)以及附加用户组 ID(groups
)。其中,gid
表示主组组 ID;groups
则表示用户所在的附加组 ID 列表。
二、查看所有组信息文件 /etc/group
$ cat /etc/group
上述命令中,cat
用于查看文件内容,/etc/group
是 Linux 系统中保存组信息的文件,该命令可以查看当前系统中所有用户组的信息。每行含义解释如下:
- 组名:用户组的名称
- 组密码:密码字段不再使用,因此统一填写“x”
- 组 ID:用户组 ID,通常与组名相同
- 组内用户列表:属于该组的所有用户,用逗号隔开
三、查看指定用户所在的用户组
$ groups username
上述命令中,groups
命令可以查看指定用户所在的附加用户组列表,具体示例如下:
$ groups username
username : username adm cdrom sudo dip plugdev lpadmin sambashare
上述示例中为查看 username
用户所在的用户组,即 adm
、cdrom
、sudo
、dip
、plugdev
、lpadmin
、sambashare
。
四、查看指定用户组内的用户列表
$ getent group groupname
上述命令中,getent group
用于查看指定用户组的信息,包括组名、密码、组 ID 以及属于该组的用户列表。其中,groupname
为指定的用户组名,示例如下:
$ getent group adm
adm:x:4:username
上述示例表示查看 adm
用户组的信息,groupname
为 “adm”。该用户组的组 ID 为 4,其中的用户列表只有一个用户,即 username
。
五、结合 grep
等命令进行筛选
$ grep groupname /etc/group
上述命令中,grep
命令可以结合正则表达式进行模糊匹配筛选,常用于查找具体的用户组信息。具体示例如下:
$ grep adm /etc/group
adm:x:4:username
上述示例中,使用 grep
命令查找 /etc/group
文件中含有 “adm” 的行,并输出结果。
通过以上五种方式,可以查看 Linux 系统中的用户组信息,包括当前登录用户所在的用户组、所有组信息文件、指定用户所在的用户组、指定用户组内的用户列表以及结合 grep
等命令进行筛选。