cap_dac_override를 테스트하려고 합니다. 저는 간단한 hello world를 작성했습니다. 프로그램을 컴파일하고 실행 파일에서 모든 권한을 제거했습니다.
지금은 ./hello를 실행하여 프로그램을 실행할 수 없습니다. 이는 올바른 것입니다. 이제 사용자에게 실행 권한이 없어도 프로그램이 계속 실행될 수 있도록 기능을 적용하고 싶습니다.
프로그램을 계속 실행할 수 있도록 cap_dac_override를 설정하는 방법을 물어봐도 될까요? 아니면 cap_dac_override를 완전히 잘못 사용하고 있는 것인가요?
setcap cap_dac_override=ep hello
답변1
기능과 권한을 혼동하고 있습니다.
그만큼파일 모드 비트또는권한설명하다파일로 무엇을 할 수 있나요?. 파일에서 모든 권한을 제거하면 누구도 파일을 읽거나 쓰거나 실행할 수 없도록 OS에 지시한 것입니다.
반면에 파일 기능은 다음과 같습니다.파일이 할 수 있는 일또는 정확하게 말하면 해당 프로그램 파일에서 시작된 프로세스가 수행할 수 있는 작업과 그렇지 않으면 수행할 수 없는 작업을 의미합니다.
setcap cap_dac_override=ep hello
프로그램이 hello
실행될 때 일반적인 권한 확인을 무시하도록 허용 했습니다 . 그러나 실행하려고 할 때 일반적인 권한 확인이 적용된다는 점은 변경되지 않습니다 hello
.