Linux에서 uid 테이블을 얻을 수 있습니까?

Linux에서 uid 테이블을 얻을 수 있습니까?

저는 대학교에 다니는 학생이고 SSH를 통해 모든 사용자(학생 등) finger와 통신할 수 있습니다.id

id 명령어 입니다

e147200@beluga:~$ id e201634
uid=22678(e201634) gid=3561(stat_bs) groups=3561(stat_bs)

여기서 ID가 e201634인 학생은 통계학과(stat)의 대학원생(bs)임을 알 수 있습니다.

이 GID(또는 그룹) 테이블을 다운로드할 수 있는 방법이 있나요?

3561 stat_bs
3562 stat_ms
3611 chem_bs
3687 biol_bs
...

답변1

서버에 하나가 있고 getent사용자가 그러한 정보를 볼 수 있도록 허용하는 경우 이를 사용할 수 있습니다 getent group stat_bs. 그러면 쉼표로 구분된 사용자 목록이 제공됩니다.

getent group허용되지 않는 경우 에도 을 passwd사용할 수 있습니다 getent passwd. 그런 다음 GID(네 번째 열)를 원하는 그룹과 연결할 수 있습니다.

답변2

@Chirag64가 제안한 대로 파일을 읽으면 /etc/group시스템 로컬 사용자 그룹만 생성됩니다.

getent group대신에 (또는 getent passwd사용자 목록을 위해) 사용하고 싶을 수도 있습니다 . 출력은 passwd또는 파일 과 동일한 형식이므로 group해당 맨페이지를 볼 수 있습니다.그룹그리고비밀번호파일 형식에 대한 도움말)

그룹 이름과 해당 GID 목록을 얻으려면 다음을 시도하십시오.

getent group|cut -d: -f1,3

예제와 동일한 형식을 원하는 경우 sed출력은 다음과 같습니다.

getent group|cut -d: -f1,3|sed -e 's/\(^[^:]*\):\(.*\)/\2 \1/'

답변3

/etc/group각 그룹의 이름과 GID, 그리고 그 안에 있는 사용자 목록이 포함되어 있는 파일을 간단히 사용하거나 읽을 수 있습니다 .catless

각 사용자의 UID를 얻으려면 /etc/passwd파일에서 얻을 수 있습니다.

편집 : 같이크리스 탕그리고mretub위에서 언급했듯이 이는 시스템의 로컬 사용자 그룹만 표시하고 대부분의 시스템은 아마도 NIS나 LDAP 또는 기타 로그인 수단을 사용하기 때문에 대학 서버 설정에서는 작동하지 않을 것입니다.

관련 정보