티스토리 뷰
프로세스의 사용자 ID
- 프로세스의 사용자 ID와 그룹 ID는 프로세스가 수행하는 연산, 권한(ex. 파일 사용 권한)을 검사하는데 사용된다
실제 사용자 ID (real user id)
- 그 프로세스를 실행시킨 사용자의 ID
유효 사용자 ID (effective user id)
- 프로세스의 현재 유용한 사용자 ID
- 보통 새로 파일을 만들 때 그 파일의 소유자를 정하거나 파일에 대한 접근권한을 검사할 때 사용됨
- 특별한 실행파일을 실행하는 경우가 아니면 실제 사용자 Id 와 동일함
프로세스의 그룹 ID
- 위와 비슷
ID 확인
$ id [사용자명]
- 사용자의 실제 ID와 유효 사용자 ID, 그룹 ID 등을 보여준다
- 사용자명을 명시하면 주어진 사용자에 대한 정보를 출력한다.
- 사용자명을 명시하지 않으면 실행 중인 프로세스(쉘)의 사용자에 대한 정보를 출력한다
- 기본적으로 실제 사용자 ID와 실제 그룹ID 를 출력하는데, 만약 유효 사용자 ID와 유효 그룹 ID가 앞과 다르다면, 이도 함께 출력함
- 각 항목은 식별번호와 괄호 안에 해당 사용자 또는 그룹의 이름을 함께 출력
$ echo $UID $EUID $GROUPS
- 내부 bash 변수 $UID (실제 사용자 ID), $EUID (유효 사용자 ID), $GROUPS (그룹 Id) 별로 출력도 가능함
set - user - id (set user ID upon execution)
- 특별한 실행 권한
- set-user-id 라는 특별한 실행권한이 설정된 실행파일을 실행하면 이 프로세스의 유효 사용자는 그 실행파일의 소유자로 바뀐다.
- 실행되는 동안 그 파일의 소유자 권한을 갖는다
- 소유자의 실행 권한이 s로 표시
- 일반 사용자가 이 파일을 실행하면 이 프로세스의 유효 사용자 ID 는 root가 되어 root권한을 가지고 /etc/passwd와 같은 root만 수정할 수 있는 파일에 접근하여 수정할 수 있게 됨
- 실행권한은 심볼릭 모드 's'로 표현됨
- 8진수로 4000 으로 표현됨
$ chmod 4755 파일
$ chmod u+s 파일
- 실행 권한을 변경하려면 앞에 4나 소유자에 s 권한 추가
set - group -id (set group ID upon execution)
- 실행되는 동안 그 파일 소유자의 그룹을 프로세스의 유효 ID그룹으로 가짐
- 그룹의 실행권한에 's' 설정
- 8진수 모드로 2000
- 실행 중에 tty 그룹 내의 어느 터미널이든 접근할 수 있게 한다
$ chmod 2755 파일
$ chmod g+s 파일
- 실행 권한을 변경하려면 앞에 2나 그룹에 s 권한 추가
'Linux' 카테고리의 다른 글
[Linux] 네트워크 구성 - LAN, Router, Gateway, WAP (0) | 2020.10.17 |
---|---|
[Linux] 시그널(signal), kill 명령어 사용 (0) | 2020.10.17 |
[Linux] 프로세스 제어 - sleep, 전면처리, 후면처리, 종료, wait, 우선순위 (0) | 2020.10.17 |
[Linux] 프로세스 (Process) - ps, pgrep (0) | 2020.10.17 |
[Linux] 파일 이름 대치, 명령어 대치, 대치 제한 (0) | 2020.10.16 |