저는 SELinux를 처음 접했는데 이로 인해 두통이 생겼습니다. 내 홈 디렉터리(my_script.py)에서 Python 스크립트를 실행하는 Python 서비스가 있습니다. 나는 서비스를 실행하여 SELinux가 차단하는 측면을 확인하고 새로운 SElinux 모듈을 추가했습니다.
allow this access for now by executing:
# ausearch -c 'my_script.py' --raw | audit2allow -M my_script
# semodule -X 300 -i my_script.pp
그러나 새 모듈을 추가할 때마다 스크립트의 다른 측면(파일 읽기, 파일 쓰기, 소켓 읽기 등)이 차단됩니다. 현재 약 10개의 모듈이 있는 것 같은데, 모두 추적하는 데 어려움을 겪고 있습니다. 또한 내 스크립트가 SELinux가 좋아하지 않는 작업을 수행할 수 있지만 테스트 중에 표시되지는 않을까 걱정됩니다. SELinux에게 my_script.py가 원하는 작업(읽기, 쓰기, 이름 바꾸기 등)을 수행하도록 할 수 있는 방법이 있습니까? SELinux를 비활성화하려고 계획했지만 실제로는 원하지 않았습니다. 감사해요!
답변1
그래 넌 할수있어. 자신만의 SELinux 도메인( mypythonapp_t
)을 만들고 도메인을 만듭니다 permissive
. 라이센스에 속하는 라벨이 있는 파일필드모든 작업을 수행할 수 있으므로 SELinux 적용에서 제외됩니다. 나머지 시스템이 SELinux로 보호되는 동안 애플리케이션을 느슨하게 실행할 수 있습니다.
바라보다https://selinuxproject.org/page/PermissiveDomainRecipe,https://danwalsh.livejournal.com/24537.html. 자신만의 전략을 수립하는 방법에 대한 훌륭한 가이드를 보려면 다음을 참조하세요.https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/using_selinux/writing-a-custom-selinux-policy_using-selinux.