저는 Linux를 처음 접했습니다. Nginx를 사용하여 CentOS 7 VPS에서 여러 웹사이트를 호스팅하고 싶습니다.
Nginx는 부팅 시 시작되어야 하지만 일부 권한 문제로 인해 실패합니다. 어떤 파일이 문제인지는 알지만 Nginx를 행복하게 하려면 어떤 권한이 있어야 하는지 모르겠습니다.
무슨 일인지 알아냈어스크린캐스트.
내가 무엇을 놓치고 있나요? 스크린캐스트에서 볼 수 있듯이 nginx:nginx
사이트 디렉터리의 모든 파일에 대한 설정 사용자 및 그룹이 있습니다.
www-data
Nginx에는 자체( nginx:nginx
) 가 있으므로 사용자와 그룹이 필요하지 않다고 가정합니다 .
답변1
CentOS는 SELinux를 사용하여 http 서버를 제한합니다. 기본이 아닌 구성(일반적이지 않은 위치의 로그 파일, 서버 측 스크립팅 활성화 등)을 사용하는 경우 SELinux 정책을 조정해야 할 수 있습니다.
SELinux는 /var/log/audit/audit.log
감사 로그( )에 정책 액세스 거부를 기록하며 조언 및 정책 생성을 위한 기본 도구에는 audit2why
및 가 포함됩니다 audit2allow
.
SELinux 권한 문제를 해결하는 일반적인 단계에는 정책 부울 조정 또는/및 파일 레이블 규칙 추가 및 적용이 포함됩니다. 나는 이 주제의 문제를 보다 일반적이고 자세하게 설명했습니다. 데몬이 기본 위치가 아닌 위치에 있는 파일을 사용할 수 있도록 SELinux 구성.
권장 사항을 확인하는 것이 좋습니다 audit2allow
. 부울 정책 옵션을 활성화하면 문제를 해결할 수 있습니다. 부울 조정만으로는 충분하지 않은 경우 파일 레이블 지정 규칙을 추가해야 합니다. 올바른 파일 컨텍스트는 다음을 참조하세요.httpd_selinux
맨 페이지.