日期:2014-05-16  浏览次数:20597 次

Linux 查看某个用户组下面的所有用户
网上搜了下,好多copy的文章,groups显示的是当前登录用户的所在用户组,根本就没有此用户组的用户列表。实践了下,可以用以下方法查看某个用户组里的所有用户:

系统内有关组的信息放在/etc/group文件中,用户的信息放在/etc/passwd文件中。现在我要查看一个名为"Plants"的组内的所有用户。

首先,要知道组的id,即gid。使用命令:

grep 'Plants' /etc/group

显示结果是:Plants:x:1003

说明gid是1003(我的电脑上这个组1003,其他的电脑也可能是其他的数字)。

然后在/etc/passwd中查找组号是1003的用户。可以先用cat /etc/passwd查看一下这个文件,发现第四列是gid(两列之间用“:”分开)。接下来,输入:

awk -F":" '{print $1"\t\t"$4}' /etc/passwd | grep '1003'

“:”表示用":"作为分隔符(/etc/passwd中用":"作为分隔符的);print 打印;$1和$4分别表示第一列和第四列,及用户名和组号; \t表示制表符;grep '1003'表示将含有1003的行取出。

这样,就能将一个组内的所有用户显示出来了。


PS,如果有简单的方法,请帮忙告诉我下,谢谢。