RHEL 6
실행하려는 작업이 SELinux로 인해 실패합니다. 문제는 일시적으로 쉽게 해결됩니다 setenforce 0
. 그러나 SELinux를 완전히 끄는 것은 나에게 선택 사항이 아닙니다.
문제는 이러한 파일이 이전 Solaris 시스템에서 설치되었으며 로드된 모든 내용의 컨텍스트가system_u:object_r:nfs_t:s0. 이 컴퓨터에서 설치된 몇 개의 파일만 수정하면 됩니다.httpd_sys_content_t.
그러나 그렇게 시도하면 "지원되지 않는 작업". 내가 사용하려는 명령은 다음과 같습니다.
chcon -R -h -t httpd_sys_content_t /path/to/my/stuff
내가 아는 한 이것은 이 서버의 모든 것이 다음과 같이 설치되어 있기 때문입니다.system_u:object_r:nfs_t:s0. Solaris이기 때문에 SELinux와 chcon이 존재하지 않기 때문에 시스템 자체에 들어가서 chcon을 사용할 수 없습니다.
제가 생각할 수 있는 유일한 해결책은 이 시스템에 동일한 소프트웨어를 설치하는 것입니다. 즉, RHEL 6
Solaris를 완전히 제거하는 것입니다. 이것이 나의 유일한 선택인지 궁금합니다.
답변1
두 가지 옵션이 있습니다(SELinux 내에서):
1) 다른 모든 실패는 audit2allow
SELinux 거부를 허용된 작업으로 변환할 수 있습니다.
2) 내 제안은 SELinux 부울을 활성화하여 객체 httpd_t
에 대한 액세스를 허용하는 것입니다.nfs_t
[root@ditirlns02 ~]# getsebool httpd_use_nfs
httpd_use_nfs --> off
[root@ditirlns02 ~]# setsebool -P httpd_use_nfs=1
[root@ditirlns02 ~]# getsebool httpd_use_nfs
httpd_use_nfs --> on
[root@ditirlns02 ~]#
보안 컨텍스트는 원격 파일 시스템이 마운트된 시스템에 의해 설정되므로 Solaris는 거의 관련이 없습니다. RHEL에서 내보내기를 수행하더라도 NFS 내보내기는 여전히 존재하며 nfs_t
이에 대해 수행할 수 있는 작업은 없습니다.