시스템해킹/정리

SetUID, SetGID, Sticky Bit

1q 2015. 7. 14. 17:45

SetUID와 SetGID는 유닉스 시스템에서 파일에 다른 계정과 그룹의 권한을 일시적으로 빌려주는 개념이다.

그러므로 일반적인 읽기(R), 쓰기(W)와 실행(X) 권한과는 다른 독특한 개념이라 할 수 있다. 

일반적인 rwx 권한은 해당 파일에 권한이 있는대로만 자신의 계정으로 읽거나 쓰거나 실행할 수 있는 형태로 접근할 수 있지만 SUID가 설정된 파일은 해당 파일을 실행하는 동안은 일시적으로 파일 소유자의 계정으로 잠시 바뀌게 된다.


 명령어

SUID 

SGID 

스티키 비트 

 chmod

4000 

2000 

1000 

<SUID, SGID, 스티키 비트의 숫자 설정값 예제>


SUID 설정 -> rws-rwx-rwx  <4777 모드>

SGID 설정 -> rwx-rws-rwx  <2777 모드>

Sticky Bit 설정 -> rwx-rwx-rwt <1777 모드>

-> 디렉터리에 스티키 비트를 설정하는 방법에 대해서 알아보면, 예로 들어서 모든 유닉스 시스템에는 /tmp 디렉터리가 있  다. 이 디렉터리는 시스템에 있는 모든 계정이 공동으로 사용할 수 있다는 특징이 있다.                                  chmod 명령어와 함께 1777이나 +t 옵션을 이용하면 디렉터리에 스티키 비트를 설정할 수 있다. 

* 스티키 비트가 설정된 디렉터리의 소유자 계정이 아닌 다른 계정은 해당 디렉터리를 수정하거나 삭제할 수가 없다.