在linux中输出每个group的用户成员

Posted 月落无影

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在linux中输出每个group的用户成员相关的知识,希望对你有一定的参考价值。

先提供使用文件一步一步获取相关信息:

1. 获取所有的用户:

awk -F: ‘{print $1 > "1.txt"}‘ /etc/passwd

2. 获取每个用户, 及其组:

awk ‘{val="groups "$1;system(val)}‘ 1.txt > 2.txt

3. 获取每个组的成员, 并排序显示:

awk -F: ‘{print $1}‘ /etc/passwd | awk ‘{val="groups "$1;system(val)}‘ | awk ‘{for(i=3; i<=NF;i++) {dic[$i]=(dic[$i]" "$1);}}END{for(key in dic) print key,":",dic[key]}‘ | sort

 

下面是串行化的命令:

awk -F: ‘{print $1}‘ /etc/passwd | awk ‘{val="groups "$1;system(val)}‘ | awk ‘{for(i=3; i<=NF;i++) {dic[$i]=(dic[$i]" "$1);}}END{for(key in dic) print key,":",dic[key]}‘ | sort

以上是关于在linux中输出每个group的用户成员的主要内容,如果未能解决你的问题,请参考以下文章

linux怎么查看用户组里都有哪些用户

linux下查看所有用户及所有用户组

linux系统中删除某个组成员

linux基础知识-9

Linux添加用户(user)到用户组(group)

Linux添加用户(user)到用户组(group)