libcap에서 cap_dac_override를 사용하는 방법

libcap에서 cap_dac_override를 사용하는 방법

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.

관련 정보