사용자 정의 모듈에서 파일/디렉토리에 대한 모든 권한을 허용하는 방법이 있습니까?

사용자 정의 모듈에서 파일/디렉토리에 대한 모든 권한을 허용하는 방법이 있습니까?

나는 다음과 같은 사용자 정의 selinux 모듈을 작성했습니다.

require {
    type my_app_t;
    type my_app_file_t;
    class file { getattr lock open read write execute execute_no_trans ioctl append setattr };
    class dir { write search getattr };
}

allow my_app_t my_app_file_t:file { append setattr write getattr execute read open execute_no_trans lock ioctl};
allow my_app_t my_app_file_t:dir { write search getattr};

이것은 대부분 잘 작동하지만 audit.log에 새로운 거부가 나타날 때마다 새 권한을 추가하는 데 지쳤습니다. 특정 컨텍스트에 대해 파일/디렉터리에 대한 모든 권한만 허용하는 방법이 있습니까? 예를 들어:

require {
    type my_app_t;
    type my_app_file_t;
    class file { * };
    class dir { * };
}

allow my_app_t my_app_file_t:file { * };
allow my_app_t my_app_file_t:dir { * };

답변1

참조 전략 매크로 사용을 고려해야 합니다. 참조 정책 매크로를 사용하면 manage_files_pattern매크로를 사용하여 모든 액세스를 허용할 수 있습니다. 예:

manage_files_pattern(my_app_t, my_app_file_t, my_app_file_t)

게다가매크로기타 일반적으로 사용되는 모드의 경우/policy/support참조 정책 소스에서.

참조 정책 모듈에서 정의한 경우 my_app_t액세스를 허용하는 데 사용할 수 있는 인터페이스가 이미 있을 수 있습니다. 인터페이스는 참조 전략 API 문서( selinux-policy-doc패키지에서 제공)에 문서화되어 있으며 다음을 사용하여 사용할 수도 있습니다.온라인(그러나 약간 구식입니다).

참조 정책 모듈을 구축하는 가장 쉬운 방법은 배포판의 SELinux 정책 개발 패키지(또는 유사한 패키지)의 makefile을 사용하는 것입니다. selinux-policy-devel예: make -f /usr/share/selinux/devel/Makefile my_app.pp.

관련 정보