selinux가 centos 8에서 apache|nginx에 액세스하도록 하는 방법

selinux가 centos 8에서 apache|nginx에 액세스하도록 하는 방법

나는 최근에 yii2 응용 프로그램을 설치했고 모든 설정을 마친 후에 권한 오류가 계속 발생한다는 것을 깨달았고 많은 검색 후에 내 설정에 아무런 문제가 없다는 것을 알았습니다. 그러나 문제는 SElinux 모드가 필수로 설정되어 있다는 것입니다. 비활성화 모드를 설정하려고 하면 권한 문제가 해결되므로 SElinux가 디렉터리 권한을 부여하도록 허용하는 방법에 대한 도움이 필요합니다.

/var/www/

/var/www하위 디렉터리의 모든 콘텐츠에 대한 권한 부여

어떤 도움이라도 대단히 감사하겠습니다.

nginx에서도 동일한 문제에 직면하고 있기 때문에 이 부분을 포함하도록 질문을 편집했습니다. 검색에서 유사한 콘텐츠를 보았기 때문에 두 웹 서버에서 이 문제를 해결할 수 있는 다른 방법이 있다면 감사하겠습니다.

chcon -Rv --type=httpd_user_content_rw_t /var/www/html/yii/ 

httpd는 여기에 구체적으로 언급되어 있으며, 내가 아는 한 그것은 단지 Apache에만 관련되어 있다고 생각합니다. 따라서 다른 웹 서버에서 동일한 문제를 해결하는 방법에 대한 아이디어가 있으면 크게 감사하겠습니다.

답변1

단일 파일의 경우 nginx다음과 같이 컨텍스트를 변경할 수 있습니다.

# semanage fcontext -a -t httpd_sys_content_t /www/file.txt
# restorecon -v /www/file.txt

파일 세트에 대해 다음을 수행할 수 있습니다.

# semanage fcontext -a -t httpd_sys_content_t /var/www(/.*)?
# restorecon -Rv /var/www/

원천:nginx.com, 옵션 1: 파일 태그 수정

관련 정보