-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
반응형