리눅스에서 그룹에 사용자 추가하는 방법

그룹은 리눅스 시스템의 핵심 요소입니다. 이는 여러 사용자를 서로 다른 카테고리로 묶을 수 있는 특수 목록입니다. 시스템의 응용 프로그램 권한을 보호하는 것 외에도, 각 계정이 파일과 폴더에 접근하고 공유하는 방법을 세밀하게 제어할 수 있습니다.
이 문서에서는 리눅스에서 그룹 유틸리티를 사용하여 기존 그룹을 추가 및 수정하는 방법을 보여줍니다. 또한 리눅스 권한 시스템이 그룹 시스템과 어떻게 함께 작동하는지도 강조할 것입니다.
목차
- 그룹과 권한은 어떻게 작동하나요?
- 리눅스에서 사용자에 대한 그룹 구성원 보기
- 리눅스에서 새 그룹 만들기
- 리눅스에서 기존 사용자를 새 그룹에 추가하기
- 자주 묻는 질문
그룹과 권한은 어떻게 작동하나요?
리눅스 그룹의 핵심은 특정 파일이나 프로그램에 대해 동일한 권한과 특권을 공유하는 사용자 모음입니다. 시스템의 모든 파일은 소유권 및 권한 비트 집합을 가집니다. 이를 찾는 가장 쉬운 방법 중 하나는 홈 디렉토리에서 ls -l을 실행하는 것입니다.

이 명령은 디렉토리 내의 모든 가시 파일과 폴더를 그들의 소유권 및 권한 비트와 함께 나열할 것입니다. 대개 일반 형식은 다음과 같습니다:
-rwxrwxr-x1 ramces maketecheasier 8.7k Oct 2420:39 hello.txt첫 번째, 세 번째, 네 번째 열은 현재 파일의 권한 및 소유권 비트를 보여줍니다. 예를 들어, “rwxrwxr-x” 값은 시스템에 이 파일을 누구나 읽을 수 있고, “ramces” 사용자와 “maketecheasier” 그룹만 쓸 수 있다는 것을 알려줍니다.
이 두 비트는 리눅스에서 세밀하게 조정된 접근 제어 시스템을 만드는 데 필수적입니다. 권한 비트는 소유권 비트에 있는 사용자 및 그룹이 파일을 어떻게 사용할 수 있는지를 시스템에 지시합니다.
리눅스에서 사용자에 대한 그룹 구성원 보기
리눅스에서 그룹을 수정하기 위한 첫 번째 단계는 사용자에게 어떤 그룹이 사용 가능한지 아는 것입니다. 이는 시스템의 활성 그룹에 대한 아이디어를 제공합니다.
다음 명령을 실행하면 현재 사용자에게 사용 가능한 모든 그룹을 나열합니다:
id
시스템에서 사용 가능한 그룹 보기
사용자 특정 그룹을 살펴보는 것 외에도, 다음 명령을 실행하여 시스템의 모든 그룹을 나열할 수 있습니다:
sudo less /etc/group이 명령은 터미널 화면에 전체 “/etc/group” 파일을 인쇄합니다. J 또는 K 키를 눌러 파일을 스크롤하세요.

기본적으로 “/etc/group”는 사용자 및 시스템 특정 그룹을 포함하는 콜론으로 구분된 파일입니다. 이 파일의 각 행은 현재 활성 그룹을 나타냅니다.
각 행의 일반 형식은 다음과 같습니다:
group-name:password:GID:users- group-name은 그룹의 레이블입니다. 대부분의 경우 시스템 그룹은 일반 그룹과 구별하기 위해 밑줄로 시작합니다.
- password는 여러 사람과 시스템을 공유할 경우 유용한 보안 그룹을 만들기 위한 선택적 필드입니다.
- GID는 해당 그룹의 그룹 ID입니다.
- 마지막으로 users 필드는 해당 그룹의 모든 사용자로 구성된 쉼표로 구분된 목록입니다.

참고: 루트 그룹에 있지 않더라도 루트로 파일을 열 수 있습니다. 방법을 배우세요.
리눅스에서 새 그룹 만들기
리눅스에서 새 그룹을 만들려면 groupadd 명령을 사용하세요. id와 달리, 이는 그룹 생성만 다루는 유틸리티입니다.
예를 들어, 다음 명령을 실행하여 “test”라는 이름의 새 그룹을 만들 수 있습니다.
groupadd -v test
새 그룹과 함께 새 사용자 만들기
또한, 한 번의 명령으로 새 사용자와 그룹을 모두 만드는 것이 가능하며, 이는 미리 정해진 권한으로 셸 스크립팅 계정을 설정할 때 유용합니다.
이를 위해 다음 명령을 실행하세요:
sudo useradd -m -G maketecheasier -s /bin/bash test-m플래그는useradd에 새 사용자의 홈 디렉터리를 만들도록 지시합니다. 기본적으로 리눅스는 “test” 사용자에 대한 홈 디렉터리를 만들지 않습니다.-G플래그는useradd에 “test” 사용자를 “maketecheasier” 그룹에 만들고 추가하도록 지시합니다.-s플래그는 “test” 사용자의 기본 로그인 셸을 설정합니다. 제 경우에는useradd유틸리티에게 “test” 사용자의 로그인 셸을 Bash로 설정하라고 지시하고 있습니다.

리눅스에서 기존 사용자를 새 그룹에 추가하기
그룹과 그 사용자를 만드는 것 외에도 다음 명령을 실행하여 기존 사용자를 그룹에 추가할 수 있습니다:
sudo usermod -aG maketecheasier user
새 그룹에 여러 사용자 추가하기
마지막으로, 새 그룹에 여러 사용자를 포함하는 것도 가능합니다. 이를 위해 다음 명령을 실행하세요:
sudo gpasswd -M ramces,test maketecheasier
이는 “maketecheasier” 그룹의 구성원 목록에 “ramces”와 “test” 모두를 포함하게 됩니다. 그러나 -M 플래그는 항상 “/etc/group” 파일의 사용자 값을 대체하므로 주의해야 합니다.
그룹에 새 사용자를 추가하려면 이미 그룹에 있는 사용자도 포함해야 합니다. 예를 들어, 다음 명령을 실행하면 “maketecheasier” 그룹에 “alice”와 “bob” 모두를 추가합니다:
sudo gpasswd -M ramces,test,alice,bob maketecheasier
팁: sudo 명령으로 다른 사용자 계정으로 전환하는 방법을 배우세요.
자주 묻는 질문
리눅스에서 그룹을 수정하기 위해 /etc/group 파일을 편집할 수 있나요?
“/etc/group” 파일을 수정하는 것은 가능하지만, 잠재적으로 파일의 내부 형식을 망가뜨려 기능이 없는 그룹 및 누락된 권한으로 이어질 수 있습니다. 따라서 “/etc/group” 파일을 직접 편집하는 것은 좋은 방법이 아닙니다.
새 그룹이 사용자 그룹 목록에 표시되지 않습니다. 내 시스템이 고장났나요?
아니요! 기본적으로 리눅스 그룹 시스템은 온라인 사용자에게 변경 사항을 적용하지 않습니다. 이러한 접근은 사용자들이 파일이나 프로그램에 접근하는 것을 방해할 수 있는 갑작스러운 시스템 변경으로부터 그들을 보호합니다.
사용자의 그룹 목록을 업데이트하려면 현재 세션에서 로그아웃하거나 전체 시스템을 재시작해야 합니다.
이미지 출처: Unsplash. 모든 수정 및 스크린샷은 Ramces Red에 의해 이루어졌습니다.