我需要得到和过滤的Linux用户列表,如:
username1 username1_group username2 username2_group ... usernameN usernameN_group
我已经尝试过,但只有我发现的是:
cat /etc/passwd | grep /home | cut -d: -f1
它给了我/ home文件夹中的用户列表。 但是,我怎样才能将组名添加到他们每个人?
尝试这个:
getent passwd | awk -F: '{print $1}' | while read name; do groups $name; done
getent passwd
…削减你所需要的。
此外,getent的优点是它可以查看系统上的所有数据库。 / etc / passwd只包含本地用户的信息,但不包括LDAP,NIS等其他地方的信息。
组列表是/etc/group 。
要获取特定用户所在组的列表,您可以运行
$ groups username
看看/ etc / group