안녕하세요 오늘은 Setuid, Setgid, Sticky bit에 대해 알아보겠습니다.
setuid는 set user id의 약자로, 한 파일이나 디랙토리를 사용할때는 그 파일의 소유자 권한으로
실행이 되는것을 말합니다.
setuid를 사용하는 대표적인 파일로는 passwd파일이 있습니다.
저희가 리눅스에서 보는 passwd 파일의 권한은 이렇게 되어있습니다.
이렇게 -rwsr을 보면 x가 없고 s가 있습니다. 이 s가 있는 파일을 setuid가 설정된 파일 이라고 합니다.
(만약 s가 대문자 이면 실행권한이 없는 setuid이고, 소문자 이면 setuid의 실행 권한이 있는것 입니다.)
이제 setuid를 사용하는 예에 대해 알아 보겠습니다.
여러분들이 /usr/bin/passwd에서 자신의 비밀번호를 바꾼다고 가정 했습니다.
하지만 위 사진을 보시면 아시다 시피, other사용자에게는 바꿀 권한이 없습니다.
그래서 setuid를 사용하는것 입니다. 이 파일을 사용하는동안 소유자인 root 권한이 되는것 이지요
그럼 비밀번호를 쉽게 변경할수 있겠죠?
set group id의 약자로, 파일이나 디렉토리를 사용할때 임시적으로 group의 권한을 사용하는것 입니다.
여기 있는 동그라미 친 부분이 그룹 권한이 보여지는곳 인데, 만약 이쪽에 s가 있으면 set gid가 설정된 것 입니다.
(다른것은 setuid랑 비슷합니다.)
sticky bit는 특수권한 중 하나 이며, 이 sticky bit가 설정된 디렉토리에서는 파일 소유자와 그룹 소유자
만이 파일을 삭제하거나 수정을 할수있는 특수 권한 입니다.
이 sticky bit는 /tmp 처럼 모두가 사용할수 있는 디렉토리에서 많이 사용되며, 만약 이 sticky bit가
설정되어 있으면 권한에 t가 있는다.
그리고 이 sticky bit는 블로그의 개념과 비슷합니다. 만약 인터넷 블로그에 글을 올렸다고 칩시다.
블로그는 모두가 볼수있습니다. 하지만 삭제하거나 수정하는것은 이 글의 소유자만이 가능합니다.
이거랑 sticky bit의 개념은 똑같습니다.