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로 표기