和
getent group xyz
xyz
我得到了以下成员的用户列表xyz
我得到了作为主要组的或者作为次要群体。
xyz
如何获取主要组的用户列表?
我的用户在 LDAP 中,所以我不是在寻找涉及解析的解决方案/etc/group
。
答案1
我认为您没有比检索每个成员用户的信息更好的了:
groupinfo="$(getent group xyz)"
groupinfo="${groupinfo#*:*:}"
gid="${groupinfo%%:*}"
members="${groupinfo##*:}"
(IFS=,; set -f; for member in $members; do
getent passwd $member | grep -E "([^:]+:){3}$gid:"
done)
如果您的 LDAP 服务器允许您使用 枚举所有用户getent passwd
,您可以在确定 gid 后解析它:
groupinfo="$(getent group xyz)"
groupinfo="${groupinfo#*:*:}"
gid="${groupinfo%%:*}"
getent passwd | grep -E "([^:]+:){3}$gid:"