目前linux中没有直接根据组名查询组员的命令。
目前系统提供的查找组员和组之间的关系的方法有两种,
一种是:查找/etc/passwd和/etc/group目录,根据/etc/group目录里面的组的id,在/etc/passwd中查找到组内成员。
另一种是:通过groups命令,根据组员查找该组员所属组
我用grep和cut命令实现了通过组名查找出其内组员的功能,命令如下
# gid=`grep ‘组名‘ /etc/group | cut -d ‘:‘ -f 3` && grep ".*:x:[0-9]*:$gid" /etc/passwd |cut -d ‘:‘ -f 1
说明:
这串命令通过&&分开(&&:当前面的命令正确时,后面的命令再执行)
&&前一段命令:先是根据组名用grep从/etc/group中查询出组名哪一行的信息,再用管道命令cut查出GID,之后将GID赋值给变量。
&&后一段命令:先是在grep中通过“正则匹配加GID”从/etc/passwd中查查询出该组内组员的各个信息(一行为一个组员),再用cut将组员的用户名“切”出来。
时间: 2024-10-13 02:44:30