Redhat에서 gid를 사용하여 그룹을 나열하는 방법은 무엇입니까?

Redhat에서 gid를 사용하여 그룹을 나열하는 방법은 무엇입니까?

먼저 다음을 사용하여 그룹을 나열했습니다.

groups 

다음을 사용하여 그룹을 추가합니다.

groupadd -g 300 oinstall
groupadd –g 500 dba

그럼 내가 할 때

groups 
root bin daemon sys adm disk wheel sfcb

내가 추가한 그룹을 찾을 수 없습니다. 그룹 ID로 그룹을 나열하는 방법은 무엇입니까? 그리고 다시 추가하려고 하면 이미 존재하는 그룹이라고 나옵니다.

답변1

groups명령은 시스템에서 사용 가능한 모든 그룹이 아니라 사용자가 현재 속한 그룹을 나열합니다. 이 명령을 사용하여 이름 또는 gid로 그룹을 찾을 수 있습니다 getent.

getent group oinstall
getent group 500

모든 그룹을 표시하려면 다음 명령어에서 검색어를 삭제하세요.

getent group

답변2

다음을 사용하여 그룹을 나열할 수 있습니다. getent존재하지 않는 경우 확인하세요./etc/group

명령을 실행하면 GID는 출력의 세 번째 값입니다. 예를 들면 다음과 같습니다.

$ getent group
man:x:15:
audio:x:63:
nobody:x:99:
users:x:100:
<--snipped-->
utmp:x:22:

따라서 그룹 이름과 해당 GID만 나열하려면 awk다음과 같이 필수 열을 인쇄하세요.

$ getent group | awk -F ":" '{ print $1,$3 }'
man 15
audio 63
nobody 99
users 100
<--snipped-->
utmp 22

당신은 또한 볼 수 있습니다http://man7.org/linux/man-pages/man1/getent.1.html

getent부재시.

$ grep $group /etc/group

GID는 출력의 세 번째 값입니다. 예를 들어

$ grep users /etc/group
users:x:100:

위에서 그룹 사용자의 GID는 100입니다. 그룹 이름과 GID만 얻으려면 다음과 같이 awk 및 grep을 사용할 수 있습니다.

$ cat /etc/group | awk -F ":" '{ print $1,$3 }' 
man 15
audio 63
nobody 99
users 100
<--snipped-->
utmp 22

외부 인증(예: LDAP)을 사용하도록 설정된 시스템의 경우 모든 그룹이 /etc/group 파일에 표시되지 않습니다. 당신은 또한 볼 수 있습니다http://www.cyberciti.biz/faq/understanding-etcgroup-file/

관련 정보