Permissões em uma pasta que impedem o Nginx de iniciar

1

Eu sou relativamente novo no Linux. Eu tenho um par de sites que eu quero hospedar no meu VPS CentOS 7 com Nginx.

O Nginx deve começar no início, mas está falhando devido a algum problema de permissões, eu sei qual arquivo tem o problema, mas não sei quais devem ser as permissões para deixar o Nginx feliz.

Capturei o que está acontecendo em um screencast .

O que estou perdendo? Como você pode ver no screencast, nginx:nginx é o usuário e grupo definidos para todos os arquivos dentro do diretório do site.

Suponho que não preciso de um www-data user e group, porque o Nginx tem seu próprio usuário e grupo ( nginx:nginx )?

    
por J86 27.04.2018 / 09:43

1 resposta

1

O CentOS usa o SELinux para confinar o servidor http. Quando você usa uma configuração não padrão (arquivos de log em locais não típicos, habilita scripts do lado do servidor, etc.), é provável que você precise ajustar a política do SELinux.

O SELinux registra as negações de acesso à política no log de auditoria ( /var/log/audit/audit.log ) e as ferramentas padrão para sugestões e geração de políticas incluem audit2why e audit2allow .

As etapas habituais para solucionar problemas de permissão do SELinux incluem booleanos de política de ajuste ou (/ e) adicionar e aplicar regras de rotulagem de arquivo. Eu expliquei o tópico de forma mais geral e detalhada para a questão: Configure o SELinux para permitir que os daemons usem arquivos em locais não padrão .

Eu recomendo verificar o que o audit2allow sugere. Seu problema pode ser resolvido ativando uma opção de política booleana. Se o ajuste booleano não for suficiente, você precisará adicionar regras de rotulagem de arquivo. Para contextos de arquivos corretos, consulte a httpd_selinux página do manual.

    
por 29.04.2018 / 12:16