특정 그룹을 기본 그룹으로 사용하는 사용자 목록을 얻는 방법

특정 그룹을 기본 그룹으로 사용하는 사용자 목록을 얻는 방법

그리고

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

관련 정보