按组列出用户的 Shell 脚本

按组列出用户的 Shell 脚本

我想编写一个 shell 脚本来生成用户列表。显示每个用户的用户名和 ID 以及该用户所属的所有组

它的意思类似于 GROUPS 命令,但对于所有用户及其 id,我使用 cat -d: -f1,3 /etc/passwd 来显示用户及其 id,但我不知道如何使用每一行的组

你能帮我写这个脚本吗谢谢

答案1

使用此脚本:

#! /bin/bash
#
for i in $(cat /etc/passwd  | cut -d: -f1); do
   echo -n $i ": "
   grep $i /etc/group | cut -d: -f1 | tr "\n" " "
   echo
done

它将列出系统(包括系统)中的所有用户并打印他们附近的群组列表。只需稍加修改,您也可以打印数字 ID。

相关内容