모든 유닉스 그룹 이름을 나열하는 명령이 있습니까? [닫은]


615

/etc/group모든 사용자 그룹을 나열 하는 파일이 있다는 것을 알고 있습니다 .

세계가 읽을 수있는 /etc/group파일 을 구문 분석하는 동안 모든 사용자 그룹 이름을 나열하는 간단한 명령이 있는지 알고 싶습니다 . Linux 계정의 그룹 이름을 나열하는 관리자 웹 페이지를 작성하려고합니다.



2
"리눅스 사용자를 나열하는 웹 페이지를 만들려고합니다"-어떤 문제를 해결하려고하십니까? 이는 일부 보안 문제 (사용자 목록 노출, 자격 증명 노출)를 유발할 수있는 것 같습니다.

나는 간단한 예를 제시하려고 노력했다. "현재 Linux 계정 이름을 나열하는 관리자 시스템 웹 페이지"를 열고 싶습니다. 리눅스에서 나는 사용자를 추가하고, 사용자를 제거하고, 사용자를 변경하고, 주어진 사용자의 그룹을 찾는 명령을 찾을 수 있지만 이름 조각으로 사용자를 검색하는 명령을 찾지 못했습니다. 나는 그 질문이 그다지 중요하지 않다고 생각한다. 리눅스 그룹 계정을 기억하기 위해 할 수있는 일은 / etc / group 파일을 조회하는 것이 었습니다
cavila

답변:


871

사용자가 할당 된 모든 로컬 그룹을 나열하려면 다음 명령을 사용하십시오.

cut -d: -f1 /etc/group | sort

자세한 정보-> 유닉스 그룹 , 잘라 내기 명령 , 정렬 명령


3
예 MichaelIT가 맞습니다. groups 명령이 모든 그룹을 나열하지는 않았습니다. 모든 그룹 이름을 나열하는 groups와 같은 간단한 명령이 있는지 또는 파일 스캔을 수행하지 않고 모든 시스템 그룹을 나열하는 groups [-a | --all]과 같은 swith 명령이 있는지 확실하지 않기 때문에이 질문을했습니다.
cavila

1
좋아, 지금은 대답은 NO입니다. 그룹 파일을 필터링하려면 텍스트 편집을 사용해야합니다.
cavila

3
"cut -d : -f1"은 무엇입니까?
zed

5
@zed cut는 입력에서 특정 열을 추출하는 또 다른 명령입니다. 여기에서 필드가 구분되는 필드 1을 추출합니다.:
Arpit

267

당신이 원하는 경우 모든 그룹 시스템에 알려진, 내가 사용하는 것이 좋습니다 것 getent group대신 구문 분석 /etc/group:

getent group

그 이유는 네트워크로 연결된 시스템에서 그룹이 다음을 읽을 수는 없기 때문입니다. /etc/group 파일을 뿐만 아니라 LDAP 또는 옐로우 페이지를 통해 얻을 (알려진 그룹 목록은 로컬 그룹 파일과이 경우 LDAP 또는 YP를 통해 수신 된 그룹에서 가져옵니다).

그룹 이름 만 원하면 다음을 사용할 수 있습니다.

getent group | cut -d: -f1

7
일부 사용 사례의 경우 정렬 된 그룹 이름 목록이 바람직 할 수 있습니다.getent group | cut -d: -f1 | sort
user1364368

2
번호가 매겨진 줄이 필요한 경우을 수행하십시오 getent group | cut -d: -f1 | sort | cat -n.
MLC

LDAP와 같은 네트워크 시스템에 대한 좋은 포인트!
Maziyar

50

Linux, macOS 및 Unix에서 사용자가 속한 그룹을 표시하려면 다음을 사용하십시오.

id -Gn

이것은 groups유닉스에서 폐기 된 유틸리티 와 동일합니다 ( 유닉스 매뉴얼에 따라 ).

macOS 및 Unix에서는 id -p일반 대화식 명령 이 권장됩니다.

매개 변수 설명 :

-G, --groups-모든 그룹 ID를 인쇄

-n, --name-숫자 대신 이름을 인쇄하십시오.-ugG

-p -출력을 사람이 읽을 수있게 만드십시오.


10
그리고 id -Gn someusername지정된 사용자에 대한 그룹의 목록을 반환합니다.
grim

6
id -Gnz | xargs -0 -I% echo %각 그룹을 별도의 줄에 나열합니다. 그룹 이름에 공백이있는 경우 유용합니다.
Mark Lakata

1
어떻게 groups쓸모 없습니까? 어떤 소스? "unix groups command obsolete"를 검색했지만 아무것도 찾지 못했습니다.
Franklin Yu

1
@FranklinYu의 BSD 매뉴얼 페이지에groups 있습니다.
kenorb

3
현재 사용자가 아닌 그룹과 관련된 원래 질문에 답하십시오.
Nay
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.