OS/Linux - Ubuntu

[Linux - 리눅스 / Ubuntu - 우분투] 특수 접근 권한 - SetGID, SetUID, 스티키 비트

주누다 2015. 2. 24. 23:53
반응형

특수 접근 권한

- umask 출력시 숫자가 네 자리로 출력될 때 맨 앞자리 숫자 관련

user@ubuntu:~/ch5$ umask

0022

user@ubuntu:~/ch5$

- 0022에서 맨 앞자리 숫자가 0이면 일반적인 접근 권한

- 맨 앞자리 숫자가 1, 2, 4이면 특수 접근 권한이 설정된 것

- SetUID : 4

- SetGID : 2

- 스티키 비트(sticky bit) : 1



SetUID

- SetUID가 설정시 해당 파일을 실행하는 동안에는

 파일을 실행한 사용자의 권한이 아니라 '파일 소유자'의 권한으로 실행

- SetUID는 접근 권한에서 맨 앞자리에 '4' 를 설정

user@ubuntu:~/ch5$ chmod 4755 test.txt

user@ubuntu:~/ch5$ ls -l

-rwsr-xr-x 1 user user 0 2월 24일 11:21 test.txt

user@ubnutu:~/ch5$

- 소유자의 실행 권한에 's' 로 표시되는 것을 확인

- 실행시 항상 'user(소유자)' 의 권한을 가지고 실행된다는 의미

- 'passwd'가 SetUID가 설정되어 있는 대표적인 예

- '/etc/shadow' 파일은 root 계정으로만 수정이 가능

- 'passwd'는 사용자의 계정의 암호를 바꾸는 것으로 

 일반 사용자가 'passwd' 명령으로 암호를 바꿀려고 할 때 

 일반 사용자의 권한으로 실행한다면 바꿀 수 없음

- 'passwd' 명령은 SetUID 설정으로 인해 패스워드 변경시

 root권한으로 실행되어 암호를 바꿀 수 있음

- SetUID는 일반 사용자가 root 권한으로 명령을 실행해야 할 필요가 있는 경우 설정(보안 신경 써야함)



SetGID

- SetUID와 비슷

- SetGID가 설정된 파일 실행시, 

 해당 파일이 실행되는 동안 '파일 소유 그룹' 의 권한으로 실행

- SetGID는 접근 권한에서 맨 앞자리에 '2' 를 설정

user@ubuntu:~/ch5$ chmod 2755 test.txt

user@ubuntu:~/ch5$ ls -l test.txt

-rwxr-sr-x 1 user user 0 2월 24일 11:42 test.txt

user@ubuntu:~/ch5$ 



스티키 비트

- 스티키 비트는 SetUID와 SetGID와 다르게 '디렉터리' 에 설정

- 디렉터리에 스티키 비트가 설정되어 있으면 이 디렉터리에는 누구나 파일 생성 가능

- 파일은 파일을 생성한 계정으로 소유자가 설정. 다른 사용자가 생성한 파일을 삭제할 수 없음.

- '/tmp' 파일이 대표적인 예

- 스키티 비트가 설정되면 기타 사용자의 실행 권한에 't' 가 표시

user@ubuntu:~/ch5$ ls -l | grep tmp

drwxrwxrwt 6 root rott 4096 2월 28일 11:24 tmp

user@ubunutu:~/ch5$

- 스티키 비트는 접근 권한에서 맨 앞자리에 1을 설정

user@ubuntu:~/ch5$ chmod 1755 temp

user@ubuntu:~/ch5$ ls -ld temp

drwxr-xr-t 2 user user 4096 2월 28일 11:26 ㅅ드ㅔ

user@ubunutu:~/ch5$



p.s

- 특수 권한을 설정하는 파일이나 디렉터리 모두 실행 권한을 가지고 있어야함

- 실행 권한 없이 파일에 SetUID나 SetGID를 설정시 's' 가 아닌 'S'가 표시.

 스티키 비트도 마찬가지로 실행 권한 없이 설정시 't' 가 아닌 'T'로 표시

- 대문자 'S'나 'T'가 표시되면 특수 접근 권한을 잘못 설정한 것.



반응형