setuid를 설정했지만 mkdir
실행 가능하게 만들지는 않았습니다.
chmod u+s /usr/bin/mkdir
chmod u-x /usr/bin/mkdir
[root@rhel-85 /]# ls -l /usr/bin/mkdir
-rwSr-xr-x. 1 root root 84664 Jul 9 2021 /usr/bin/mkdir
이제 다른 사용자로 로그인하면"user1"
나는 아직도able to create directory even when the "mkdir" binary is non-executable.
mkdir
내 이해는 "user1"이 실행 가능하지 않기 때문에 디렉토리를 생성할 수 없다는 것입니다 .
답변1
파일 소유자로부터 실행 권한을 삭제했지만 해당 그룹 구성원이나 다른 사용자에서는 실행 권한을 삭제하지 않았습니다. 결과적으로 유일한 사용자의 액세스가 거부되었습니다.패스 권한루트이고 다른 모든 사용자에게는 권한이 부여됩니다. (루트는 실행 가능 비트가 설정된 모든 바이너리를 실행할 수 있으므로 루트는 여전히 바이너리를 실행할 수 있습니다.)
setuid 비트는 권한 부여 또는 거부 방법에 영향을 주지 않습니다. 프로세스가 바이너리를 실행할 때 유효 uid에만 영향을 미칩니다.
바라보다UNIX 권한 및 파일 유형 이해그리고"그룹" 권한은 제한하고 "전 세계" 권한은 공개하시겠습니까?더 알아보기.