설정:
~$ ls -l /etc/sudoers
-r--r----- 1 root root 614 2017-09-10 20:29 /etc/sudoers
~$ ls -l /etc/shadow
-rw-r----- 1 root shadow 794 2011-04-18 11:49 /etc/shadow
$ ls -l $(which ht)
-rwsr-sr-x 1 root root 2072344 2011-04-16 07:26 /usr/local/bin/ht
HTncurses 16진수 편집기입니다.
질문: 왜 그렇습니까?HT프로그램은 편집 /etc/sudoers
(변경 사항 저장 포함)이 가능하지만 읽을 수도 없습니다 /etc/shadow
. 그런 것 같다HT실행 파일은 setuid 비트와 루트 소유권을 기반으로 두 파일 모두에 액세스할 수 있어야 합니다. 또한 편집 내용을 두 파일 중 하나에 저장할 수 있는 경우 /etc/shadow
루트의 쓰기 비트를 기반으로 하는 것 같습니다. 그러나 setgid 비트가 예기치 않게 작동합니다. /etc/shadow
파일을 변경하면그룹소유권은 루트(섀도우 아님)이며 ht 프로그램을 사용하여 액세스할 수 있습니다.