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

Add User Group Linux Featured Image

그룹은 리눅스 시스템의 핵심 요소입니다. 이는 여러 사용자를 서로 다른 카테고리로 묶을 수 있는 특수 목록입니다. 시스템의 응용 프로그램 권한을 보호하는 것 외에도, 각 계정이 파일과 폴더에 접근하고 공유하는 방법을 세밀하게 제어할 수 있습니다.

이 문서에서는 리눅스에서 그룹 유틸리티를 사용하여 기존 그룹을 추가 및 수정하는 방법을 보여줍니다. 또한 리눅스 권한 시스템이 그룹 시스템과 어떻게 함께 작동하는지도 강조할 것입니다.

목차

  • 그룹과 권한은 어떻게 작동하나요?
  • 리눅스에서 사용자에 대한 그룹 구성원 보기
  • 리눅스에서 새 그룹 만들기
  • 리눅스에서 기존 사용자를 새 그룹에 추가하기
  • 자주 묻는 질문

그룹과 권한은 어떻게 작동하나요?

리눅스 그룹의 핵심은 특정 파일이나 프로그램에 대해 동일한 권한과 특권을 공유하는 사용자 모음입니다. 시스템의 모든 파일은 소유권 및 권한 비트 집합을 가집니다. 이를 찾는 가장 쉬운 방법 중 하나는 홈 디렉토리에서 ls -l을 실행하는 것입니다.

Add User Group Linux Ls Long Format

이 명령은 디렉토리 내의 모든 가시 파일과 폴더를 그들의 소유권 및 권한 비트와 함께 나열할 것입니다. 대개 일반 형식은 다음과 같습니다:

-rwxrwxr-x1 ramces    maketecheasier    8.7k Oct 2420:39 hello.txt

첫 번째, 세 번째, 네 번째 열은 현재 파일의 권한 및 소유권 비트를 보여줍니다. 예를 들어, “rwxrwxr-x” 값은 시스템에 이 파일을 누구나 읽을 수 있고, “ramces” 사용자와 “maketecheasier” 그룹만 쓸 수 있다는 것을 알려줍니다.

이 두 비트는 리눅스에서 세밀하게 조정된 접근 제어 시스템을 만드는 데 필수적입니다. 권한 비트는 소유권 비트에 있는 사용자 및 그룹이 파일을 어떻게 사용할 수 있는지를 시스템에 지시합니다.

리눅스에서 사용자에 대한 그룹 구성원 보기

리눅스에서 그룹을 수정하기 위한 첫 번째 단계는 사용자에게 어떤 그룹이 사용 가능한지 아는 것입니다. 이는 시스템의 활성 그룹에 대한 아이디어를 제공합니다.

다음 명령을 실행하면 현재 사용자에게 사용 가능한 모든 그룹을 나열합니다:

id

Add User Group Linux 02 Id Program

시스템에서 사용 가능한 그룹 보기

사용자 특정 그룹을 살펴보는 것 외에도, 다음 명령을 실행하여 시스템의 모든 그룹을 나열할 수 있습니다:

sudo less /etc/group

이 명령은 터미널 화면에 전체 “/etc/group” 파일을 인쇄합니다. J 또는 K 키를 눌러 파일을 스크롤하세요.

Add User Group Linux 03 Etc Groups File

기본적으로 “/etc/group”는 사용자 및 시스템 특정 그룹을 포함하는 콜론으로 구분된 파일입니다. 이 파일의 각 행은 현재 활성 그룹을 나타냅니다.

각 행의 일반 형식은 다음과 같습니다:

group-name:password:GID:users
  • group-name은 그룹의 레이블입니다. 대부분의 경우 시스템 그룹은 일반 그룹과 구별하기 위해 밑줄로 시작합니다.
  • password는 여러 사람과 시스템을 공유할 경우 유용한 보안 그룹을 만들기 위한 선택적 필드입니다.
  • GID는 해당 그룹의 그룹 ID입니다.
  • 마지막으로 users 필드는 해당 그룹의 모든 사용자로 구성된 쉼표로 구분된 목록입니다.

Add User Group Linux 04 Etc Groups Format

참고: 루트 그룹에 있지 않더라도 루트로 파일을 열 수 있습니다. 방법을 배우세요.

리눅스에서 새 그룹 만들기

리눅스에서 새 그룹을 만들려면 groupadd 명령을 사용하세요. id와 달리, 이는 그룹 생성만 다루는 유틸리티입니다.

예를 들어, 다음 명령을 실행하여 “test”라는 이름의 새 그룹을 만들 수 있습니다.

groupadd -v test

Add User Group Linux 05 Create New Group

새 그룹과 함께 새 사용자 만들기

또한, 한 번의 명령으로 새 사용자와 그룹을 모두 만드는 것이 가능하며, 이는 미리 정해진 권한으로 셸 스크립팅 계정을 설정할 때 유용합니다.

이를 위해 다음 명령을 실행하세요:

sudo useradd -m -G maketecheasier -s /bin/bash test
  • -m 플래그는 useradd에 새 사용자의 홈 디렉터리를 만들도록 지시합니다. 기본적으로 리눅스는 “test” 사용자에 대한 홈 디렉터리를 만들지 않습니다.
  • -G 플래그는 useradd에 “test” 사용자를 “maketecheasier” 그룹에 만들고 추가하도록 지시합니다.
  • -s 플래그는 “test” 사용자의 기본 로그인 셸을 설정합니다. 제 경우에는 useradd 유틸리티에게 “test” 사용자의 로그인 셸을 Bash로 설정하라고 지시하고 있습니다.

Add User Group Linux 06 Create New User And Group

리눅스에서 기존 사용자를 새 그룹에 추가하기

그룹과 그 사용자를 만드는 것 외에도 다음 명령을 실행하여 기존 사용자를 그룹에 추가할 수 있습니다:

sudo usermod -aG maketecheasier user

Add User Group Linux 07 Append Single User Group

새 그룹에 여러 사용자 추가하기

마지막으로, 새 그룹에 여러 사용자를 포함하는 것도 가능합니다. 이를 위해 다음 명령을 실행하세요:

sudo gpasswd -M ramces,test maketecheasier

Add User Group Linux 08 Append Multiple Users Groups

이는 “maketecheasier” 그룹의 구성원 목록에 “ramces”와 “test” 모두를 포함하게 됩니다. 그러나 -M 플래그는 항상 “/etc/group” 파일의 사용자 값을 대체하므로 주의해야 합니다.

그룹에 새 사용자를 추가하려면 이미 그룹에 있는 사용자도 포함해야 합니다. 예를 들어, 다음 명령을 실행하면 “maketecheasier” 그룹에 “alice”와 “bob” 모두를 추가합니다:

sudo gpasswd -M ramces,test,alice,bob maketecheasier

Add User Group Linux 09 Append More Users To Group

: sudo 명령으로 다른 사용자 계정으로 전환하는 방법을 배우세요.

자주 묻는 질문

리눅스에서 그룹을 수정하기 위해 /etc/group 파일을 편집할 수 있나요?

“/etc/group” 파일을 수정하는 것은 가능하지만, 잠재적으로 파일의 내부 형식을 망가뜨려 기능이 없는 그룹 및 누락된 권한으로 이어질 수 있습니다. 따라서 “/etc/group” 파일을 직접 편집하는 것은 좋은 방법이 아닙니다.

새 그룹이 사용자 그룹 목록에 표시되지 않습니다. 내 시스템이 고장났나요?

아니요! 기본적으로 리눅스 그룹 시스템은 온라인 사용자에게 변경 사항을 적용하지 않습니다. 이러한 접근은 사용자들이 파일이나 프로그램에 접근하는 것을 방해할 수 있는 갑작스러운 시스템 변경으로부터 그들을 보호합니다.

사용자의 그룹 목록을 업데이트하려면 현재 세션에서 로그아웃하거나 전체 시스템을 재시작해야 합니다.

이미지 출처: Unsplash. 모든 수정 및 스크린샷은 Ramces Red에 의해 이루어졌습니다.