setuid 4 setgid 2 sticky bit 1
ex)
chmod 4722-> setuid
chmod 7777->setuid ,setgid, sticky bit
set UID
-바이너리 또는 스크립트 파일에 적용한다
-디렉토리에는 적용하지 않는다
-실행한 사용자가 아닌 소유자 권한으로 실행
-실행 권한이 x대신s로 표시된다
setuid 설정방법
chmod u+s
[user@localhost ~]$ ls -al /usr/bin/passwd
-rwsr-xr-x. 1 root root 27856 4월 1 2020 /usr/bin/passwd
user에서 패스워드를 변경 할 때, /usr/bin/passwd 파일을 소유한 root의 권한으로 /etc/shadow에 업데이트시켜 패스워드를 변경 한다.
ldh에서 계정 비밀번호를 바꾸려고 한다
passwd 설정 창을 띄워 놓은 후 다른 터미널에서 passwd 프로세스를 확인 하면
root계정으로 프로세스를 실행하는것을 확인 할 수있다
이번에는 chmod u-s /usr/bin/passwd 명령어를 사용 해 setuid를 없애준다.
passwd 설정 창을 띄워 놓은 후 다른 터미널에서 passwd 프로세스를 확인 하면
ldh 계정으로 프로세스가 실행중인것을 확인 할 수 있다.
다시 돌아와서 비밀번호 설정을 해 보면
비밀번호가 바뀌지 않는데 , root가 아닌 다른 계정은 비밀번호를 업데이트하는 /etc/shadow 파일에 접근할 수 없기 때문이다.
그러므로 setuid가 없으면 패스워드를 바꾸지 못한다.
한마디로 setuid는 실행한 사용자가 아닌 소유자 권한으로 실행하는 것이다.
'리눅스' 카테고리의 다른 글
Linux 확장 권한 /sticky bit (0) | 2021.05.10 |
---|---|
Linux 확장 권한 /setgid (0) | 2021.05.10 |
Linux 사용자 및 그룹 정보 파일 (0) | 2021.05.10 |
Linux 프로세스 작업관리 (0) | 2021.05.07 |
Linux 프로세스 (PID/PPID) (0) | 2021.05.07 |