본문으로 바로가기

Linux // SetUID, SetGID, Sticky_Bit

category 잡동사니 2015. 6. 24. 20:28

SetUID : 4000

SetGID : 2000

Sticky_Bit : 1000


일반적으로 유닉스 시스템에서 사용자가 명령어를 실행시켰을 때 명령어를 찾아서 실행시키는 경로와 절차

1. 현재 작업디렉토리에서 찾음.
2. $PATH에서 찾음
3. 찾은후에 실행권한 체크
4. 권한이 있다면 실행시킨 사용자의 UID로 실행
5. 권한이 없다면 이 파일이 SetUID bit가 있는가를 확인
6. SetUID bit가 있다면 명령어 소유주의 UID(Effective UID)로 실행

SetUID의 쓰임새 : ex)passwd처럼 root의 소유이지만 다른 사용자가 실행해야할 경우가 있는 파일에 적용

SetUID를 설정해두면 소유자가 아니더라도 소유자인것처럼 실행이 가능하다.
(단, 4000을 설정해두어도 소유자의 실행권한, 예를들면 100의 권한(root의 실행권한)이 있어야한다.
4155 -> 가능, 4055 -> 불가능)

Sticky_Bit의 사용 예시

 Sticky_Bit설정은 대부분 /tmp 디렉토리에 설정되어 있는데, 가장 흔한 용도는 공용디렉토리로 사용하기 위한 것입니다. 
즉, Sticky-bit로 설정된 디렉토리는 모든 사용자가 write가능하며 write된 파일은 그 사용자의 소유가 됩니다. 
물론 삭제할 수 있는 권한또한 root와 해당사용자만이 가능합니다.

따라서 사용자들에게 공용으로 사용될 디렉토리를 Sticky-bit로 설정해두면 이런 것들이 가능하게 됩니다.

참고 URL : https://www.linux.co.kr/home/lecture/?leccode=476
        http://pathfind3r.egloos.com/1569991

좋은 내용이니 URL 참조 바랍니다. 문제시 삭제 또는 수정하겠습니다. 


'잡동사니' 카테고리의 다른 글

[코드스터디] 3주차  (0) 2015.06.25
[코드스터디] 2주차  (0) 2015.06.25
[코드스터디] 1주차  (0) 2015.06.25
Linux 기초 2  (0) 2015.06.24
Linux 기초 1  (0) 2015.06.24