Seoyoung Report

그룹관리 명령어

리눅스(Linux)에서는 사용자(Owner), 그룹(Group), 기타 사용자(Other)로 구분하여 권한 관리를 한다. 따라서, 사용자를 별도의 그룹으로 묶어서 관리하기 위해서는 그룹 관련 명령어를 잘 알아야 한다.

1. groups

사용자 그룹 확인

groups      # 현재 사용자가 소속된 그룹 출력
            # 한 사용자가 여러 그룹에 소속될 수 있다.
group 사용자  # 사용자가 소속된 그룹 출력

2. groupadd

새로운 그룹을 생성하는 명령어

groupadd 그룹명               # 새로운 그룹 생성
groupadd --gid 3333 그룹명    # 그룹을 생성하고 그룹ID를 3333으로 지정함
                            # 생성한 그룹은 /etc/group 파일에서 확인 가능

3. groupmod

그룹의 속성을 변경하는 명령어

groupmod --new-name 이전그룹 새로운그룹 # 그룹이름 변경

4. groupdel

그룹을 삭제하는 명령어

groupdel 그룹명 # 그룹을 삭제
              # 그룹을 삭제하기 위해서는 해당 그룹에 주 그룹으로 지정한 사용자가 없어야 한다.

5. gpasswd

그룹의 비밀번호를 설정하거나 그룹 관리를 수행하는 명령어

gpasswd 그룹명 # 그룹 비밀번호를 설정
gpasswd -A 사용자 그룹명 # 사용자를 구룹의 관리자로 지정
gpasswd -a 사용자 그룹 # 사용자를 구룹에 추가
gpasswd -d 사용자 그룹 # 사용자를 구룹에서 제거
//  /etc/group, /etc/gshadow 두 파일을 관리

6. usermod

usermod 명령어로도 그룹을 지정할 수 있다.

sudo usermod -a -G 그룹명 사용자
// -G : 사용자가 속할 그룹을 지정하는 옵션. 여러 개의 그룹을 지정할 때는 쉼표로 구분한다.
// -g 옵션이 주 그룹을 변경한다면 -G 옵션은 주 그룹은 그대로 두고 새로운 그룹을 하나 추가

사용자 계정 정보를 수정하는 명령어 중 하나로 이 명령어를 사용하면 사용자가 속한 그룹 정보를 수정할 수 있다. usermod 명령어는 사용자를 중심으로 그룹을 지정한다.

7. newgrp

현재 쉘 세션에서 다른 그룹으로 전환하는 명령어

newgrp group_name
//  현재 사용자를 group_name 그룹으로 변경

이 명령어를 사용하면 현재 사용자가 로그아웃하고 다시 로그인한 것과 같은 효과를 얻을 수 있다. newgrp 명령어를 사용하면 현재 쉘 세션이 새로운 그룹으로 변경되므로, 현재 쉘 세션이 종료될 때까지만 새로운 그룹의 권한을 유지한다. 따라서, 로그아웃하거나 쉘 세션을 종료하면 기존 그룹으로 다시 돌아가게 된다.

서브목차