Kali Linux/기초
특수권한_setuid, setgid, sticky bit
jin_li
2022. 11. 11. 12:30
리눅스에는 기본적인 세 가지 권한 rwx말고도 여러 특수권한들이 있다.
그 중 setuid, setgid, sticky bit을 알아보자.
setuid : 파일을 실행할 때 그 파일의 소유주의 권한으로 실행할 수 있게 하는 특수 권한.
권한정보의 실행부분에 s로 표시된다.
s가 소문자일 때(rws) : 그 파일에 실행권한이 있는 상태에서 setuid 걸려있다는 뜻.
s가 대문자일 때(rwS) : 그 파일에 실행권한이 없는 상태에서 setuid 걸려있다는 뜻.

setuid를 사용하게 된 배경은, 어떤 사용자가 계정 비번을 변경하고자 할 때 원래라면 /etc/shadow에 접근해야 한다. 그러나 이 파일은 root권한만 접근할 수 있음... 따라서 passwd명령어를 통해 비번을 변경하고자 할 때만, 사용자를 root계정으로 인정해줘서 파일에 접근, 실행할 수 있게 해둔 것. 리눅스에서는 이렇게 root권한이 필요한 파일에 대하여 setuid를 걸어두고 관리할 수 있다.
setgid : 그룹id로 setuid와 같은 역할을 하는 권한이다.
s(소문자), S(대문자)로 표시되는데, 해석은 setuid와 똑같이 하면 된다.
(ex)
-rwsr -sr -x : 실행권한이 있는 상태에서 setgid 걸려있음
-rwsr -Sr -x : 실행권한이 없는 상태에서 setgid 걸려있음
sticky bit : 디렉토리에 설정되는 권한으로, sticky bit이 걸리면 그 디렉토리는 누구든지, 얼마든지 파일을 생성할 수 있게 된다.(단, 생성한 파일 삭제는 본인만 가능하다)
권한정보 끝에 t로 표시된다.
t(소문자) : 실행권한이 있는 상태에서 sicky bit 걸려있다
T(대문자) : 실행권한이 있는 상태에서 sticky bit 걸려있다
