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

기능과 권한을 혼동하고 있습니다.

이것파일 모드 비트또는권한설명하다어떤 파일을 할 수 있나요?. 파일에서 모든 권한을 제거하면 누구도 파일을 읽거나 파일에 쓰거나 파일을 실행하지 못하도록 운영 체제에 표시하게 됩니다.

반면에 파일 함수는 설명합니다.어떤 파일을 할 수 있나요?또는 해당 프로그램 파일에서 시작된 프로세스가 다른 방법으로는 수행할 수 없는 작업을 수행할 수 있습니다.

setcap cap_dac_override=ep hello프로그램이 hello런타임 시 일반적인 권한 검사를 무시하도록 허용 합니다. 그러나 이는 실행을 시도할 때 적용되는 일반적인 권한 검사를 변경하지 않습니다 hello.

관련 정보