Pop!_OS에서 setuid가 예상대로 작동하지 않습니다.

Pop!_OS에서 setuid가 예상대로 작동하지 않습니다.

그래서 한번 시도해 보려고 했습니다 setuid. 내 이해에 따르면 사용자는 소유자의 컨텍스트에서 바이너리를 실행할 수 있습니다. 그래서 저는 /root"루트" 사용자만 실행할 수 있는 디렉터리에 쓰기 작업을 수행하는 프로그램을 C로 작성했습니다 . 이를 컴파일하고 생성된 바이너리의 소유자를 "루트"로 변경하고 setuid다음을 사용하여 권한을 추가했습니다.

$ chmod u+s binary_generated

파일 권한은 다음과 같습니다

-rwsrwxr-x 1 root root 21112 Jun 29 11:26 binary_generated

/root이제 일반 사용자는 루트 사용자 컨텍스트를 사용하여 이 바이너리를 실행할 수 있어야 하며 디렉터리 에 쓸 수 있어야 합니다 . 하지만 여전히 Permission Denied오류가 발생합니다.

[!!] Fatal Error in main() while opening file: Permission denied

저는 Pop!_Os 20.04와 Linux 5.4.0-7634-generic을 사용하고 있습니다.

제 생각엔 OS의 커널이나 보안 기능과 관련이 있는 것 같아요.

관련 정보