[Linux] 사용자 계정, 그룹 계정 관리

SOO·2021년 8월 17일
0

Linux

목록 보기
11/19

1. 사용자 관리

1-1. 개요

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

1-2. 사용자의 분류

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

1-3. 시스템 계정

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

2. 그룹 계정 관리

2-1. 개요

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

2-2. 그룹 조회

  • /etc/group에서 확인 가능

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

3. Group 권한 부여 방법

  • 생성 및 삭제
    • 그룹 만들기: groupadd [그룹명]
    • 그룹 확인: groups
    • 그룹 삭제: groupdel [그룹명]
  • 그룹에 구성원 추가
    • 방법 1) /etc/group 파일을 편집하여 등록
    • 방법 2) gpasswd [옵션] [사용자] [그룹명]
  • gpasswd 옵션
    • -a [사용자]: 그룹에 새로운 사용자를 추가
    • -d [사용자]: 그룹에 포함된 사용자를 제거
    • -r [그룹명]: 특정 그룹의 패스워드 제거

4. 정리

  • UID (User Identifer)
    • 사용자 고유의 식별 번호
    • 슈퍼 유저의 UID는 0
    • /etc/passwd에서 관리
  • GID (Group Identifer)
    • 그룹 고유의 식별 번호
    • 슈퍼 유저 그룹의 GID는 0
    • /etc/group에서 관리
    • /etc/gshadow에서 그룹 패스워드 관리
  • 그룹을 분리하는 이유
    • 서버에 존재하는 많은 사용자 중 특정 사용자끼리 파일이나 디렉터리를 공유할 수 있도록 하기 위함

5. 🍧 추가) 특수 권한

  • 개요
    • 일반 사용자의 작업 도중 root 권한과 같은 일부의 권한 허용을 위한 경우 부여할 수 있는 특수한 권한
  • 종류
    • 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로 표기

출처: CentOS 7로 리눅스마스터 1급 정복하기

0개의 댓글