apt와 같은 바이너리를 setuid할 수 없는 이유는 무엇입니까?

apt와 같은 바이너리를 setuid할 수 없는 이유는 무엇입니까?

setuid제가 배운 모든 내용에서 파일에 대한 실행 권한이 있는 사람은 누구나 해당 파일을 소유자로 실행할 수 있다는 말을 들었습니다 . 그러나 바이너리를 설정하고 간단한 사용자로 실행할 수는 없는 것 같습니다. 내가 시도한 것은 다음과 같습니다.

root@pc# chmod u+s,o+x /usr/bin/apt
root@pc# su - zero
zero@pc$ apt update
[sudo] password for zero: 
Sorry, user zero is not allowed to execute '/usr/bin/apt update' as root on pc.

기본적으로 그것은 매력적으로 작동 /usr/bin/passwd하지만 Linux에서는 다른 바이너리에 설정할 수 없는 것 같습니다. 내가 뭘 잘못했나요?

답변1

apt별칭에 의해 "걸렸을" 수 있음을 나타내는 메시지가 표시됩니다 .sudo

절대 경로를 사용하면 /usr/bin/apt이를 방지하고 수정된 속성이 있는 실제 바이너리를 사용하고 있는지 확인할 수 있습니다.

관련 정보