SW/리눅스

Linux : 그룹에 사용자 추가하는 방법, 예제, 명령어

얇은생각 2020. 12. 22. 07:30
반응형

이 튜토리얼에서는 Linux 시스템의 그룹에 사용자를 추가하는 방법에 대해 설명합니다. 또한 그룹에서 사용자를 제거하는 방법과 그룹을 생성, 삭제 및 나열하는 방법도 보여드리겠습니다.

 

Linux : 그룹에 사용자 추가하는 방법, 예제, 명령어

 

Linux Groups

Linux 그룹은 Linux에서 사용자 계정을 구성하고 관리하는 데 사용되는 조직 단위입니다. 그룹의 주요 목적은 그룹 내의 사용자 간에 공유할 수 있는 지정된 리소스에 대한 읽기, 쓰기 또는 실행 권한과 같은 권한 집합을 정의하는 것입니다. 

Linux 운영 체제에는 두 가지 유형의 그룹이 있습니다.

Primary 그룹 – 사용자가 파일을 만들 때 파일의 그룹은 사용자의 Primary 그룹으로 설정됩니다. 일반적으로 그룹 이름은 사용자 이름과 동일합니다. 사용자의 주 그룹에 대한 정보는 /etc/passwd 파일에 저장됩니다. 

보조 그룹 - 그룹의 구성원인 사용자 집합에 특정 파일 사용 권한을 부여하려는 경우에 유용합니다. 예를 들어, 특정 사용자를 도커 그룹에 추가하면 사용자는 그룹의 액세스 권한을 상속하고 도커 명령을 실행할 수 있습니다.

각 사용자는 정확히 하나의 기본 그룹과 0개 이상의 보조 그룹에 속할 수 있습니다.

루트 또는 sudo 액세스 권한이 있는 사용자만 그룹에 사용자를 추가할 수 있습니다.

 

 

 

기존 사용자를 그룹에 추가하는 방법

기존 사용자를 보조 그룹에 추가하려면 usermod -a -G 명령을 그룹 및 사용자 이름에 따릅니다.

sudo usermod -a -G groupname username

 

 

 

예를 들어 sudo 그룹에 사용자 Linuxize를 추가하려면 다음 명령을 실행합니다.

sudo usermod -a -G sudo linuxize

 

 

사용자를 새 그룹에 추가할 때는 항상 -a(적용) 옵션을 사용합니다. -a 옵션을 생략하면 -G 옵션 뒤에 나열되지 않은 그룹에서 사용자가 제거됩니다.

성공하면 usermod 명령은 출력을 표시하지 않습니다. 사용자 또는 그룹이 없는 경우에만 경고합니다.

 

 

 

하나의 명령으로 기존 사용자를 여러 그룹에 추가하는 방법

기존 사용자를 하나의 명령으로 여러 보조 그룹에 추가하려면 usermod 명령 뒤에 ,(commas)로 구분된 그룹의 -G 옵션 이름을 사용합니다.

sudo usermod -a -G group1,group2 username

 

 

 

그룹에서 사용자를 제거하는 방법

그룹에서 사용자를 제거하려면 -d 옵션과 함께 gpasswd 명령을 사용합니다.

다음 예에서는 그룹 이름에서 사용자 이름을 제거합니다.

sudo gpasswd -d username groupname

 

 

 

그룹을 만드는 방법

새 그룹을 만들려면 groupadd 명령과 그룹 이름을 사용합니다.

sudo groupadd groupname

 

 

 

 

그룹을 삭제하는 방법

기존 그룹을 삭제하려면 groupdel 명령과 그룹 이름을 차례로 사용합니다.

sudo groupdel groupname

 

 

 

 

사용자의 기본 그룹을 변경하는 방법

사용자 기본 그룹을 변경하려면 usermod 명령과 함께 -g 옵션을 사용합니다.

sudo usermod -g groupname username

 

 

 

다음 예에서는 사용자 Linuxize의 기본 그룹을 개발자로 변경합니다.

sudo usermod -g developers linuxize

 

 

 

새 사용자를 만들고 그룹을 하나의 명령으로 할당하는 방법

다음 useradd 명령은 기본 그룹 사용자 및 보조 그룹 휠 및 개발자를 사용하여 nathan이라는 새 사용자를 생성합니다.

sudo usermod -g developers linuxize

 

 

 

사용자 그룹 표시

사용자가 속한 모든 그룹을 포함하여 전체 사용자 정보를 표시하려면 id 명령과 사용자 이름을 차례로 사용합니다.

id username

 

 

 

사용자 이름을 생략하면 명령어는 현재 로그인한 사용자에 대한 정보를 인쇄합니다. 사용자 Linuxize를 확인합니다.

id linuxize

# uid=1000(linuxize) gid=100(users) groups=100(users),10(wheel),95(storage),98(power),990(libvirt),993(docker),999(kvm)

 

 

 

 

위의 출력에서 사용자의 기본 그룹이 사용자이며 휠, 스토리지, libvirt, 도커 및 kvm 보조 그룹에 속함을 알 수 있습니다.

groups 명령을 사용하여 사용자의 보조 그룹을 표시합니다.

groups linuxize

# wheel storage power users libvirt docker kvm

 

 

그룹 명령에 사용자 이름이 전달되지 않으면 현재 로그인한 사용자 그룹이 인쇄됩니다.

반응형