Group

如何獲取具有給定組的使用者列表作為主要組

  • August 2, 2022

getent group xyz

xyz我得到了xyz作為主要組輔助組成員的使用者列表。

如何獲得僅包含xyz作為主要組的使用者的列表?

我的使用者在 LDAP 中,所以我不是在尋找涉及解析的解決方案/etc/group

我認為您沒有比檢索每個成員使用者的資訊更好的方法了:

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:"

引用自:https://unix.stackexchange.com/questions/712109