2 분 소요

리눅스 시스템은 사용자 계정뿐 아니라 그룹(Group) 단위로도 권한을 관리합니다. 그룹은 파일 접근 제어, 공동 작업자 분류, 보안 관리에 매우 중요합니다. 이번 글에서는 그룹 생성부터 삭제, 변경까지 필요한 명령어를 예제 중심으로 쉽게 설명합니다.


1. groupadd – 새 그룹 생성

설명

새로운 그룹을 생성하고, 해당 정보를 /etc/group 파일에 저장합니다.

기본 형식

groupadd [옵션] 그룹명

주요 옵션 및 예시

옵션 설명 예시
(없음) 기본 그룹 생성 groupadd developers
-g GID(Group ID) 지정 groupadd -g 2000 qa_team

⚠️ GID는 고유해야 하며, 다른 그룹과 충돌하지 않도록 확인이 필요합니다.


2. groupdel – 기존 그룹 삭제

설명

지정된 그룹을 /etc/group 파일에서 완전히 제거합니다. 단, 해당 그룹이 기본 그룹(primary group) 인 사용자 계정이 있을 경우 삭제할 수 없습니다.

사용 예시

groupdel developers

그룹에 속한 사용자(member)는 유지되지만, 그룹 정보는 삭제됩니다.


3. groupmod – 그룹 설정 변경

설명

기존 그룹의 이름이나 GID를 변경하는 명령어입니다. 파일 권한과 사용자 정보는 그대로 유지됩니다.

사용 형식

groupmod [옵션] 그룹명

주요 옵션 및 예시

옵션 설명 예시
-n 그룹 이름 변경 groupmod -n backend_team developers
-g GID 변경 groupmod -g 3000 backend_team

⚠️ GID 변경 시 해당 그룹에 속한 파일들의 그룹 ID도 함께 수동으로 바꿔야 일관성이 유지됩니다:

find / -group OLD_GID -exec chgrp -h NEW_GROUP {} \\;

그룹 정보 파일 – /etc/group

구조 설명

  • 파일 경로: /etc/group

  • 형식:

    그룹명:암호(GNU/Linux에선 x로 고정):GID:그룹 멤버 목록
    

예시

developers:x:1001:user1,user2
qa_team:x:2000:tester
  • developers 그룹(GID 1001)에 user1, user2가 포함됨
  • x: 현재 대부분의 시스템에서는 shadow 방식을 사용해 그룹 암호는 사용하지 않음

실전 예제: 그룹 관리 루틴

# 1. 개발팀 그룹 생성 (GID 명시)
sudo groupadd -g 1050 devteam

# 2. 그룹 이름 변경 (devteam → frontend)
sudo groupmod -n frontend devteam

# 3. 사용자 user1을 frontend 그룹에 추가
sudo usermod -aG frontend user1

# 4. frontend 그룹 삭제
sudo groupdel frontend

질문 정리

그룹을 삭제하면 속한 사용자 계정도 삭제되나요?

아니요. 그룹은 삭제되지만 사용자 계정은 그대로 유지되며, 해당 그룹 소속만 제거됩니다.


기본 그룹(primary group)인지 확인하려면?

id username

출력된 첫 번째 그룹이 기본 그룹입니다. 이 그룹은 삭제 전에 반드시 사용자 그룹을 변경해야 합니다.


GID는 중복되면 안 되나요?

그렇습니다. GID는 고유해야 하며, 충돌 시 그룹 생성 또는 파일 권한 설정 오류가 발생합니다.


파일 소유 그룹도 함께 바꾸려면?

chgrp 명령어를 사용해 개별 파일 또는 디렉토리의 그룹 소유권을 바꿀 수 있습니다.

sudo chgrp developers /var/www/html

사용자 계정이 여러 그룹에 동시에 속할 수 있나요?

네. usermod -aG group1,group2 username 으로 보조 그룹을 추가할 수 있습니다.


정리

리눅스 그룹은 사용자 권한을 집단적으로 관리할 수 있게 해주는 중요한 구조입니다.

  • groupadd로 그룹을 만들고,
  • groupmod로 이름이나 GID를 바꾸고,
  • groupdel로 필요 없는 그룹을 정리할 수 있습니다.

카테고리:

업데이트:

댓글남기기