[Linux] Group 이건 어디에 써?

Austin·2024년 11월 29일

Linux

목록 보기
7/10

Group이란?

사용자 계정의 집합으로, 특정 권한을 가진 사용자들이 모여 있는 단위이다.
모든 리눅스 계정은 반드시 하나 이상의 그룹에 속해야 하며, 이를 통해 파일 및 디렉토리에 대한 접근 권한을 설정할 수 있다.
그룹을 사용하면 여러 사용자가 동일한 파일이나 디렉토리에 접근할 수 있도록 하여 관리의 효율성을 높일 수 있다.
그룹은 주 그룹(Primary Group)과 보조 그룹(Secondary Group)으로 나뉜다.

주 그룹 (Primary Group)

주 그룹은 사용자 계정의 기본 그룹이다.

주 그룹의 특징

  • 모든 사용자는 반드시 하나의 주 그룹에 속해야 한다.
  • 사용자가 새로 생성될 때, 일반적으로 사용자 이름과 동일한 이름의 그룹이 주 그룹으로 자동 생성된다.
  • 사용자가 파일이나 디렉토리를 생성할 때, 해당 파일이나 디렉토리는 자동으로 사용자의 주 그룹에 할당된다.
  • 주 그룹 정보는 /etc/passwd 파일에 저장된다.

보조 그룹 (Secondary Group)

보조 그룹은 사용자가 주 그룹 외에 추가로 속할 수 있는 그룹이다.

보조 그룹의 특징

  • 사용자는 0개 이상의 보조 그룹에 속할 수 있다.
  • 사용자는 최대 15개의 보조 그룹에 속할 수 있다.
  • 보조 그룹은 사용자에게 특정 권한을 부여하는 데 사용된다.
  • 보조 그룹 정보는 /etc/group 파일에 저장된다.

그룹 관리 명령어

명령어설명옵션 설명
groupadd그룹 생성옵션 없음
groupdel그룹 삭제옵션 없음
usermod -aG사용자를 그룹에 추가-a: 기존 그룹을 유지하고 새 그룹에 추가
-G: 추가할 그룹을 지정
gpasswd -d사용자를 그룹에서 제거-d: 특정 사용자를 지정된 그룹에서 제거
groups사용자가 속한 그룹 목록 보기옵션 없음
usermod -g사용자의 기본 그룹 변경-g: 사용자의 기본(primary) 그룹을 변경
getent group그룹에 속한 사용자 확인옵션 없음
groupmod -n그룹 이름 변경-n: 기존 그룹의 이름을 변경할 새 그룹명을 지정
gpasswd그룹 비밀번호 설정옵션 없음
gpasswd -A그룹 관리 권한 부여-A: 그룹 관리자로 지정할 사용자 목록을 쉼표로 구분하여 입력

그룹 확인하기

  • cat /etc/group 명령어로 전체 그룹 리스트 확인 가능하다.
  • usermod -aG 명령어를 통해 user계정을 sudo 그룹에 추가해보았다.
    sudo whoami명령어에서 root로 잘 적용 된게 확인 되었다.
    groups 명령어로 user가 어떤 그룹에 속해있는지 확인해보았을 때에도 sudo가 잘 나왔다.

    혹시 몰라 user 계정으로 로그인해서도 확인해보았다.

    user 계정에서도 sudo 그룹에 잘 들어가 있는것을 확인 할 수 있다.

0개의 댓글