/etc/group
모든 사용자 그룹을 나열 하는 파일이 있다는 것을 알고 있습니다 .
세계가 읽을 수있는 /etc/group
파일 을 구문 분석하는 동안 모든 사용자 그룹 이름을 나열하는 간단한 명령이 있는지 알고 싶습니다 . Linux 계정의 그룹 이름을 나열하는 관리자 웹 페이지를 작성하려고합니다.
답변
사용자가 할당 된 모든 로컬 그룹을 나열하려면 다음 명령을 사용하십시오.
cut -d: -f1 /etc/group | sort
답변
당신이 원하는 경우 모든 그룹 시스템에 알려진, 내가 사용하는 것이 좋습니다 것 getent group
대신 구문 분석 /etc/group
:
getent group
그 이유는 네트워크로 연결된 시스템에서 그룹이 다음을 읽을 수는 없기 때문입니다. /etc/group
파일을 뿐만 아니라 LDAP 또는 옐로우 페이지를 통해 얻을 (알려진 그룹 목록은 로컬 그룹 파일과이 경우 LDAP 또는 YP를 통해 수신 된 그룹에서 가져옵니다).
그룹 이름 만 원하면 다음을 사용할 수 있습니다.
getent group | cut -d: -f1
답변
Linux, macOS 및 Unix에서 사용자가 속한 그룹을 표시하려면 다음을 사용하십시오.
id -Gn
이것은 groups
유닉스에서 폐기 된 유틸리티 와 동일합니다 ( 유닉스 매뉴얼에 따라 ).
macOS 및 Unix에서는 id -p
일반 대화식 명령 이 권장됩니다.
매개 변수 설명 :
-G
,--groups
-모든 그룹 ID를 인쇄
-n
,--name
-숫자 대신 이름을 인쇄하십시오.-ugG
-p
-출력을 사람이 읽을 수있게 만드십시오.