尽管套接字权限设置为 777,nginx 仍出现套接字失败错误(13:权限被拒绝)

尽管套接字权限设置为 777,nginx 仍出现套接字失败错误(13:权限被拒绝)

我已将套接字上的权限设置为 777,但 Nginx 不断声明其访问权限被拒绝,是的,我已经重新启动了服务器。

Nginx 以 root 身份启动(不是最好的方式,但它就是这样,我不是这样设置的人),并且有问题的套接字由该应用程序的用户拥有。

如果它很重要,那么该套接字适用于在 puma Web 服务器上运行的 Rails 应用程序。

我使用的发行版是 Redhat。

我尝试按照我发现的内容进行操作这里但当我尝试跑步时

grep nginx /var/log/audit/audit.log | audit2allow -m nginx

我收到此错误:

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

我认为这可能是我正在运行的命令:

sudo cat /var/log/audit/audit.log | grep nginx | grep denied | audit2allow -M mynginx

但我仍然遇到同样的错误,在 less 打开审计日志并搜索与 nginx 相关的任何内容甚至被拒绝后,我什么也没得到,audit.log 中没有任何与 nginx 相关的内容。

我正在尝试对具有不同应用程序(相同操作系统)的另一个系统执行相同的操作,但我再次遇到了相同的问题,但是根据其他审核日志(最终显示了我得到的内容:

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'

如果它显示res=success为什么 nginx 仍然被拒绝?

另外,当我尝试audit2allow这个项目时,我得到一个空白的policy.te文件,如下所示用户问题当然,下面划线的情况可能与我在 RHEL 上运行的情况不同。

另外,我不确定 SElinux 是否正在运行,但执行getenforcereturns: Disabled

我认为最终这是一个用户权限问题,因为将套接字位置移动到任何人都可以访问的位置可以解决问题。

答案1

我面临着同样的问题。您必须禁用 SELinux。详细步骤请点击链接:

http://blog.odoobiz.com/2017/11/rhel-wsgi-nginx-error-permission-denied.html

相关内容