当前位置首页 > Linux知识

Linux根据组名查询出该组内所有成员

阅读次数:298 次  来源:admin  发布时间:

目前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

说明:

这串命令通过&&分开(&&:当前面的命令正确时,后面的命令再执行)

amp;&前一段命令:先是根据组名用grep从/etc/group中查询出组名哪一行的信息,再用管道命令cut查出GID,之后将GID赋值给变量。

amp;&后一段命令:先是在grep中通过“正则匹配加GID”从/etc/passwd中查查询出该组内组员的各个信息(一行为一个组员),再用cut将组员的用户名“切”出来。

上一篇:URL重写IIS7(URLRewriteModule)比之前的urlrewrite更方便使用
下一篇:IIS下中文名的文件无法下载问题的解决方案