nginx erros com falha (13: permissão negada) para o soquete, apesar de as permissões de soquete estarem definidas para 777

3

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.

    
por Thermatix 18.10.2017 / 09:47

1 resposta

1

Eu estava enfrentando o mesmo problema. Você precisa desativar o SELinux. Para passos detalhados, por favor siga o link:

link

    
por 24.11.2017 / 10:16