Eu estava enfrentando o mesmo problema. Você precisa desativar o SELinux. Para passos detalhados, por favor siga o link:
A questão está no título. Eu configurei permissões no socket para o 777, mas o Nginx continua afirmando que está sendo negado permissão para acessar, e sim, eu reinicio o servidor.
O Nginx está sendo iniciado como root (não da melhor maneira, mas é apenas o jeito que é e não sou eu quem define dessa maneira) e o soquete em questão é de propriedade de um usuário para o aplicativo.
Se for importante, o soquete é para um aplicativo de trilhos executado em um servidor web da puma.
A distro que estou usando é Redhat.
Eu tentei seguir o que eu encontrei aqui mas quando eu tento executar
grep nginx /var/log/audit/audit.log | audit2allow -m nginx
Eu recebo este erro:
compilation failed:
mynginx.te:6:ERROR 'syntax error' at token '' on line 6:
/usr/bin/checkmodule: error(s) encountered while parsing configuration
/usr/bin/checkmodule: loading policy configuration from mynginx.te
Pensando que pode ser o comando que estou executando, tentei:
sudo cat /var/log/audit/audit.log | grep nginx | grep denied | audit2allow -M mynginx
mas ainda recebo o mesmo erro, depois de abrir o log de auditoria em menos e fazer uma busca por qualquer coisa relacionada ao nginx ou mesmo negado, não recebo nada, não há nada no arquivo audit.log relacionado ao nginx.
Eu estou tentando fazer a mesma coisa para outro sistema com um aplicativo diferente (mesmo sistema operacional) e novamente estou correndo para o mesmo problema, no entanto, de acordo com outro log de auditoria (que finalmente mostra algo que eu recebo isso:
type=USER_CMD msg=audit(1508924031.284:1165419): user pid=30802 uid=502 auid=502 ses=5121 msg='cwd="/home/user/selinux-nginx-rhel/nginx" cmd=73656D6F64756C65202D69206E67696E782E7070 terminal=pts/0 res=success'
se estiver mostrando res=success
por que o nginx ainda está sendo negado?
Além disso, quando tento audit2allow
para este projeto, recebo um arquivo policy.te em branco como este neste pergunta do usuário é claro que os casos sublinhados provavelmente não são os mesmos que eu estou executando no RHEL.
Além disso, não tenho certeza se o SElinux está em execução, mas fazendo getenforce
return: Disabled
.
Acho que, em última análise, é um problema de permissões do usuário, como mover o local do soquete para que qualquer pessoa possa acessar o problema.
Eu estava enfrentando o mesmo problema. Você precisa desativar o SELinux. Para passos detalhados, por favor siga o link: