因项目需求,需要通过Linux系统用户名快速获取用户所在组名,通过测试总结如下:

方法1:通过groups命令

[root@10-10-196-157 ~]# for i in `awk -F ":" '{print $1}' /etc/passwd`;do groups $i;done                
root : root
bin : bin daemon sys
daemon : daemon bin adm lp
adm : adm sys
lp : lp
sync : root
shutdown : root
halt : root
mail : mail
uucp : uucp
operator : root
games : users
gopher : gopher
ftp : ftp
nobody : nobody
vcsa : vcsa
saslauth : saslauth
postfix : postfix mail
sshd : sshd
ntp : ntp
tcpdump : tcpdump
dbus : dbus
avahi-autoipd : avahi-autoipd
ansible : ansible
dfw : root
monitor : monitor
manage : manage
mysql : mysql
tvrich : tvrich
apache : apache

方法2:awk

方法3:shell脚本