사용자의 기본 그룹을 얻는 방법은 무엇입니까?

사용자의 기본 그룹을 얻는 방법은 무엇입니까?

다음 명령은 모든 그룹 someUser(기본 및 보조)을 나열합니다.

groups someUser

그런데 기본 그룹만 가져오는 방법이 있나요?

답변1

FreeBSD를 참조하세요수동(정보는 Linux에도 적용됩니다):

그룹 ID(GID)

그룹 ID(GID)는 사용자가 속한 기본 그룹을 고유하게 식별하는 번호입니다. 그룹은 UID가 아닌 사용자의 GID를 기반으로 리소스에 대한 액세스를 제어하는 ​​메커니즘입니다. 이렇게 하면 일부 프로필의 크기가 크게 줄어들고 사용자가 여러 그룹의 구성원이 될 수 있습니다. GID가 높을수록 일부 소프트웨어가 손상될 수 있으므로 65535 이하의 GID를 사용하는 것이 좋습니다.

그렇다면 실행 중이 id <username>표시됩니다 gid=<primary group>.

id <username>
uid=1000(<username>) gid=1000(<username>) groups=1000(<username>),4(adm),24(cdrom),27(sudo)

명령이 기본 그룹 이름만 반환하도록 하려면 다음을 참조하세요 man id.

   -g, --group
          print only the effective group ID

   -G, --groups
          print all group IDs

   -n, --name
          print a name instead of a number, for -ugG

그러므로 id -gn <username>당신이 원하는 것을 주어야합니다.

답변2

groups <username>사용자의 기본 그룹이 먼저 나열되므로 다음 명령을 사용하여 지정된 사용자의 기본 그룹만 추출할 수 있습니다 .

groups <username> | awk '{print $3}'

관련 정보