대규모 프로젝트의 시스템 관리자로서 개발팀의 코드베이스 혼란 또는 그 반대의 상황에 대한 QA팀의 불만이 잦다고 가정해 봅시다. 자세히 살펴보면 두 팀이 동일한 코드베이스를 공유하는 동일한 그룹에 속해 있음을 알 수 있습니다. 문제를 해결하기 위해 선임 관리자에게 문의했고, 그는 개발팀과 QA팀의 모든 사용자를 위해 별도의 두 그룹을 만들라고 제안했습니다. 하지만 Linux에서 사용자를 그룹에 추가하는 방법을 모릅니다. 걱정하지 마십시오. 이 문제를 해결하기 위해 준비했습니다. 본문에서는 Linux에서 새 그룹을 생성하고, 새 사용자를 추가한 다음, 해당 사용자를 그룹에 연결하는 방법에 대해 상세히 설명합니다.
Linux에서 그룹에 사용자 추가 (2023)
그룹 생성, 사용자 추가, 그리고 기존 또는 새로운 사용자를 이러한 그룹에 연결하는 방법을 알아보기 전에 먼저 Linux에서 사용자 그룹이 무엇인지 이해하는 것이 중요합니다. 사용자 그룹의 정의를 먼저 살펴본 후 사용자를 그룹에 추가하는 방법을 배우도록 하겠습니다.
Linux의 사용자 그룹이란 무엇인가요?
일반적으로 조직은 여러 팀으로 구성되며, 각 팀은 특정 기능을 수행합니다. 조직의 모든 구성원은 이러한 팀의 일원입니다. 마찬가지로 다중 사용자 시스템에서 각 사용자는 그룹에 속하며, 그룹은 공유 리소스에 대한 읽기, 쓰기 또는 실행 권한과 같은 다양한 권한 집합을 갖습니다. Linux에는 두 가지 유형의 그룹이 있습니다.
기본 그룹
세션에 로그인할 때마다 사용자는 기본 그룹의 일원이 됩니다. 기본 그룹은 일반적으로 사용자의 이름과 동일한 이름을 갖습니다. 사용자가 생성하는 모든 파일과 프로세스는 이 그룹에 속하며, 기본적으로 다른 그룹의 사용자는 접근할 수 없습니다. 기본 그룹과 관련된 사용자 ID, 그룹 ID 등의 정보는 ‘/etc/passwd’ 파일에 저장됩니다.
보조 그룹
보조 그룹 또는 추가 그룹은 특정 사용자 그룹과 파일 또는 프로세스에 대한 접근 권한을 공유해야 할 때 유용합니다. 루트 사용자 또는 sudo 권한을 가진 사용자만이 새로운 권한을 할당하거나 새로운 사용자를 보조 그룹에 추가할 수 있습니다.
사용자는 하나의 기본 그룹에만 속할 수 있지만 여러 개의 보조 그룹에 속할 수 있습니다. 이제 Linux에서 사용자 그룹의 기본 사항을 이해했으므로 새로운 사용자를 만들고 그룹에 추가하는 방법을 알아보겠습니다.
Linux에서 새 사용자 추가 방법
새 사용자를 만들려면 다음 형식을 따라 ‘useradd’ 명령을 사용합니다.
sudo useradd <옵션> 사용자이름
이 명령과 함께 사용되는 몇 가지 옵션은 다음과 같습니다:
옵션 | 설명
—|—
-d | 새 사용자의 로그인 디렉토리 값으로 새로운 디렉토리 이름을 사용하여 생성
-e | 사용자 계정이 비활성화되는 날짜 지정
-u | 특정 사용자 ID를 가진 새 사용자 생성
생성된 새 사용자는 초기에는 기본 그룹에만 속하게 됩니다. 새 사용자를 생성한 후에는 아래와 같이 ‘passwd’ 명령어를 사용하여 새 비밀번호를 설정합니다.
sudo passwd <사용자이름>
여기서 새로운 비밀번호를 입력하라는 메시지가 표시되며, 확인을 위해 비밀번호를 다시 입력하라는 메시지가 나타납니다. 이제 사용자는 방금 생성한 사용자 이름과 비밀번호로 시스템에 로그인할 수 있습니다.
Linux에서 사용자 그룹 생성 방법
새 사용자를 생성했으므로 이제 그룹을 만들고 사용자를 추가할 수 있습니다. 새 그룹을 만들려면 ‘groupadd’ 명령을 사용합니다. 새 그룹 이름은 고유해야 하며, 기존 그룹 이름과 충돌하지 않아야 합니다. 구문은 다음과 같습니다:
sudo groupadd <그룹_이름>
그룹에 사용자 추가 방법
그룹이 생성되었다면 이제 해당 그룹에 사용자를 추가할 수 있습니다. 루트 사용자 또는 ‘sudo’ 권한을 가진 사용자만 다른 그룹에 사용자를 추가할 수 있습니다.
기존 그룹에 기존 사용자 추가
기존 사용자를 그룹에 추가하려면 아래 강조된 구문의 ‘usermod’ 명령을 사용하세요.
sudo usermod -a <사용자이름> -G <그룹 이름>
여기서 ‘-a’ 옵션은 ‘추가'(끝에 추가)를 의미하며, 사용자를 기존 그룹에 추가합니다. ‘-G’ 플래그는 사용자가 추가되는 그룹의 이름을 지정하는 데 사용됩니다. 사용자 또는 그룹이 존재하지 않을 경우 경고 메시지를 표시하는 것 외에는 이 명령어에 자세한 정보 출력 옵션은 없습니다.
여러 그룹에 사용자 추가
Linux의 ‘usermod’ 명령어를 사용하여 여러 그룹에 사용자를 추가할 수도 있습니다. 기본적으로 단일 그룹에 사용하는 것과 동일한 옵션을 사용하며, 그룹 이름을 공백 없이 지정해야 합니다.
sudo usermod -a <사용자이름> -G <그룹 이름_1>,<그룹 이름_2>,<그룹 이름_3>
새 사용자 생성 및 그룹 할당
Linux에서는 단일 명령으로 그룹에 새 사용자를 추가할 수 있습니다. ‘useradd’ 명령어를 사용하면 새 사용자를 생성한 다음 지정된 그룹에 사용자를 추가할 수 있습니다. ‘useradd’ 명령을 사용하여 새 사용자를 추가하는 구문은 다음과 같습니다.
sudo useradd <사용자이름> -G <그룹_이름_1>,<그룹_이름_2>,<그룹_이름_3>
사용자 그룹 확인
사용자와 연결된 모든 그룹을 확인하려면 ‘groups’ 명령 또는 ‘id’ 명령을 사용할 수 있습니다. 아래 제시된 구문을 참고하십시오.
groups <사용자이름>
id <사용자이름>
<사용자이름>을 비워두면 현재 사용자의 그룹 이름만 표시됩니다.
그룹에서 사용자 제거 방법
Linux 배포판의 그룹에서 사용자를 제거하려면 아래 제공된 구문에 따라 ‘gpasswd’ 명령을 사용할 수 있습니다.
sudo gpasswd -d <사용자이름> <그룹 이름>
그룹에서 사용자를 제거하는 것 외에도 ‘gpasswd’ 명령어는 그룹 관리자 정의 또는 그룹 비밀번호 설정 등과 같은 다양한 관리 작업에도 사용됩니다.
Linux에서 그룹 삭제
Linux에서 보조 그룹을 삭제하려면 ‘groupdel’ 명령어를 사용할 수 있습니다.
sudo groupdel <그룹 이름>
사용자의 기본 그룹을 변경하는 방법
지금까지 논의한 모든 명령은 보조 그룹과 해당 사용자에게 적용됩니다. Linux에서 사용자의 기본 그룹을 변경하려면 다음 구문을 사용하세요.
sudo usermod –g <새 기본 그룹> <사용자 이름>
‘-g’ 플래그와 ‘-G’ 플래그의 차이점이 궁금할 수 있습니다. ‘-g’ 플래그는 기본 그룹에 사용되는 반면 ‘-G’ 플래그는 보조 그룹에 사용됩니다.
Linux에서 모든 사용자 그룹을 나열하는 방법
설치 시 생성되는 사용자를 시스템 사용자라고 하며, Linux의 많은 기본 그룹에 속합니다. 시스템의 모든 그룹에 대한 정보는 ‘/etc/group’ 파일에 저장됩니다. 시스템의 모든 그룹을 나열하려면 다음 구문을 사용하세요.
sudo cat /etc/group
Linux 터미널에서 사용자 및 그룹 관리
그룹 관리는 특히 시스템 관리자에게 매우 유용한 작업입니다. 이 글에서는 새로운 사용자 생성, 새로운 그룹 생성, 그룹에 새 사용자 추가 등과 같은 간단한 Linux 터미널 명령어를 소개했습니다. 이 글이 여러분의 문제를 해결하는 데 도움이 되기를 바라며, 그렇지 않은 경우 아래 댓글 섹션에서 알려주시면 지원해 드리겠습니다.