[Linux] 권한 관리 명령어

SOO·2021년 9월 15일
0

Linux

목록 보기
15/19

1. 사용자 관리

A. 개요

  • 리눅스 시스템 내부에서는 사용자를 숫자값 형태의 UID(User Identity)로 관리
  • 사용자의 UID는 0번부터 정수값으로 배분
  • root 사용자는 0이 할당되며 0번 사용자를 슈퍼 사용자로 인식
    • 참고: /etc/passwd에서 UID 및 GID를 0으로 변환하면 일반 사용자도 root와 같은 슈퍼유저가 됨
  • 시스템 계정을 포함한 일반 사용자는 1번부터 부여 (배포판에 따른 차이 존재. CentOS 7 버전은 사용자 생성 시 부여되는 UID 시작 번호를 1000번부터 할당)

B. 사용자의 분류

  • root
    • 시스템 운영에 있어서 모든 권한을 행사
    • Privileged User 또는 Super User라고 함
  • 일반 사용자
    • 시스템에 제한적인 권한을 행사
    • Normal user 또는 Unprivileged user라고 함

C. 시스템 계정

  • 시스템의 필요에 의해 생성된 계정을 지칭
  • 파일이나 프로세스 생성 시 소유자를 명시하게 되어 있으며 해당 소유자의 권한을 승계하는 형태로 운영 (ex. root가 생성한 파일이면 root 권한)

2. 그룹 계정 관리

A. 개요

  • 서버에 존재하는 많은 사용자 중 특정 사용자끼리 파일이나 디렉터리를 공유할 수 있도록 함
  • 리눅스에서 모든 사용자는 하나 이상의 그룹에 반드시 속함
  • 사용자 추가 시 그룹 설정을 하지 않으면 GID(Group Identifer)가 100인 users 그룹에 속함
  • 레드햇 계열의 리눅스에서는 사용자간의 불필요한 공유를 막기 위해 사용자의 아이디와 동일한 그룹을 생성, 단독으로 그룹에 포함되도록 설정
  • 레드햇 계열 리눅스에서 사용자들을 동일한 그룹으로 묶기 위해서는 그룹을 생성하고, usermod 명령을 이용해 사용자 정보 변경 작업을 해야 함

B. 그룹 조회

  • /etc/group에서 확인 가능
  • 4개의 필드 구성은 다음과 같다.
    GroupName:Password:GID:Member_List
  • 그룹 패스워드: /etc/gshadow에서 관리

3. Group 권한 부여 방법

A. 생성 및 삭제

  • 그룹 만들기: groupadd [그룹명]
  • 그룹 확인: groups
  • 그룹 삭제: groupdel [그룹명]

B. 그룹에 구성원 추가

  • /etc/group 파일을 편집하여 등록 또는 gpasswd [옵션] [사용자] [그룹명]

C. gpasswd 옵션

  • -a [사용자]: 그룹에 새로운 사용자를 추가
  • -d [사용자]: 그룹에 포함된 사용자를 제거
  • -r [그룹명]: 특정 그룹의 패스워드 제거

4. 정리

A. UID

  • 사용자 고유의 식별 번호
  • 슈퍼 유저의 UID는 0
  • /etc/passwd에서 관리

B. GID

  • 그룹 고유의 식별 번호
  • 슈퍼 유저 그룹의 GID는 0
  • /etc/group에서 관리
  • /etc/gshadow에서 그룹 패스워드 관리

C. 그룹을 분리하는 이유

  • 서버에 존재하는 많은 사용자 중 특정 사용자끼리 파일이나 디렉터리를 공유할 수 있도록 하기 위함

5. 특수 권한

A. 개요

  • 일반 사용자의 작업 도중 root 권한과 같은 일부의 권한 허용을 위한 경우 부여할 수 있는 특수한 권한

B. 종류

  • Set-UID
    1) 보통 실행 파일에 사용되며, Set-UID가 부여된 파일을 실행 시 해당 파일을 실행하는 동안 실행시킨 사용자의 권한이 아닌 해당 파일의 소유자 권한으로 인식
    2) 설정 시 소유자 권한 부분의 x 자리에 s가 표기
    3) 실행 권한이 없는 파일에 부여 시 대문자 S로 표기
  • Set-GID
    1) 파일에 설정되어 있을 경우 해당 파일을 소유한 그룹의 권한으로 인식
    2) 주로 디렉터리에 설정
    3) 그룹 소유권 부분의 x 자리에 s로 표기
    4) 실행 권한이 없을 경우 대문자 S로 표기
  • Sticky-Bit
    1) 디렉터리에 설정되는 특수 권한으로, 공유 디렉터리로 사용
    2) 생성에는 제한이 없지만 삭제 시 본인이 생성한 파일만 삭제 가능
    3) Group 또는 Other 계층 중 하나의 계층에만 사용 가능
    4) 설정 시 other 계층에 설정되며 other 계층의 x 자리에 t 로 표기
    5) other 계층에 실행 권한이 없는 경우 (그룹의 공유 모드로 사용한 경우) 대문자 T로 표기

0개의 댓글