나의 기록, 현진록

[Linux] setuid 본문

-Computer Theory

[Linux] setuid

guswlsdk 2018. 1. 17. 17:04
반응형

리눅스 사용자는 passwd 명령어를 통해 자신의 비밀번호를 변경할 수 있다.


passwd 명령어로 /etc/shadow 파일에 접근하여 내용을 수정하는 것이다.


그러나 /etc/shadow 파일의 권한은 root 뿐이다.


일반 사용자는 접근할 수 없다는 의미이다.


그렇다면 어떻게 /etc/shadow 파일에 접근할 수 있던 것일까?


비밀번호를 변경할 수 있는 passwd 파일에 root 권한의 setuid가 설정되어 있는 것이다.


passwd 파일을 사용하는 동안에는 잠시 root 권한을 가진다는 의미이다.



setuid


setuid 설정된 파일은 기존의 마스크 값 맨 앞에 4가 추가되고 실행권한인 x가 s로 변경된다.


예) -r-s-r--r--   1     root    user     *&!@#%*&!@%     /usr/bin/passwd

반응형