(참고 :이 groups
명령은 여전히 유용하지만 대부분 id 명령으로 대체됩니다 .)
사용자는 기본적으로 사용자가 /etc/passwd
로그인 하는 파일 파일에 정의 된 기본 그룹을
가지고 있지만 오늘날 다른 소스가있을 수 있습니다. 또한 파일에 전통적으로 지정된 2 차 또는 보충 그룹으로 알려진 추가 그룹의 구성원 일 수도 /etc/groups
있지만 오늘은 추가 소스 (예 : NIS, LDAP, SAMBA 등)에서 가져 오거나 암시 될 수 있습니다.
기본 및 보조 그룹은 로그인시 정의되며 현재 상태를 유지 합니다. 그러나 사용자는 언제든지 명령
을 사용하여 현재 활성 기본 그룹 을 변경할 수 있습니다 newgrp
.
로그인 프로세스는 기본 및 보조 그룹을 설정합니다. 나중에는 일반적으로 libc 함수 initgroups를 호출하여
보조 그룹 데이터 목록을 컴파일하고이를 setgroups 함수로 전달
하여 프로세스 컨텍스트에서이를 설정합니다.
정보 출처 initgroups
는 다음과 같습니다.
GNU C 라이브러리 및 기타 특정 응용 프로그램에서 다양한 범주 및 이름 순서로 이름 서비스 정보를 얻을 수있는 출처를 결정합니다. 각 정보 범주는 데이터베이스 이름으로 식별됩니다.
이 groups
명령은 현재 사용자에게 적용된 그룹을 표시하며 목록은 현재 기본 그룹으로 시작한 다음 로그인시 보충 그룹이 표시됩니다. 로그인 시점 이후의 데이터 소스 변경 사항은 표시된 목록에 반영되지 않습니다.
이 groups username
명령은 Linux 에 해당 사용자의 그룹 을 계산 하도록 요청하며 ,이 파일은 주로 파일 /etc/password
과 /etc/groups
추가 소스를 사용합니다. 이것은 시스템 파일의 현재 상황을 반영하며 로그인 시점부터 여전히 유효한 현재 그룹 과 같지 않을 수 있습니다 .
groups username
는 로그인 프로세스가 분명히 귀하의 경우에는 무슨 일 귀하의 추가 그룹을 계산하는 데 사용하는 모든 소스를 사용하지 않는 경우 명령은 다른 결과를 제공 할 수 있습니다. 이러한 소스는 로그인을 통해 액세스 할 수 없거나 명령으로 문의하지 않을 수 있습니다.
id username
로그인 프로세스만큼 완벽하지는 않지만 명령을 사용하면 더 나은 결과를 얻을 수 있습니다. 이 id
명령은 이전 명령보다 최신이며보다 정확한 groups
명령이었습니다.
groups
명령이 정확하고 정확한 결과를 제공 하지만 명령을 수행하여 groups username
명령을 수행 할 수 없다는 것을 잘 알고 있습니다 .
groups
명령 의 소스 코드를 검사하지 않고 groups username
Linux 배포판에서 명령을 구현하면 모든 보충 그룹에서 나온 ( /etc/groups
사용하지 않는 경우) 사용하지 않는 것으로 분석 /etc/nsswitch.conf
됩니다. 따라서 기본 그룹 이름 만 표시됩니다
jacob
.
자세한 내용은 다음을 참조하십시오.