如何获取 Linux 用户/群组列表?

如何获取 Linux 用户/群组列表?

我需要获取并过滤 Linux 用户列表,如下所示:

username1 username1_group
username2 username2_group
...
usernameN usernameN_group

我已经尝试过,但我只发现:

cat /etc/passwd | grep /home | cut -d: -f1

它给出了 /home 文件夹中的用户列表。但我如何为每个用户添加组名?

答案1

尝试这个:

getent passwd | awk -F: '{print $1}' | while read name; do groups $name; done

答案2

getent passwd

...然后剪切您需要的部分。

此外,getent 的优点在于它会查看系统上的所有数据库。/etc/passwd 仅包含本地用户的信息,而不包含其他地方(如 LDAP、NIS 等)的信息。

答案3

群组列表为/etc/group

要获取特定用户所在组的列表,您可以运行

$ groups username

答案4

看看 /etc/group

相关内容