尽管套接字权限设置为777,但套接字的nginx错误失败(13:权限被拒绝)
作者:互联网
我已经将套接字的权限设置为777,但Nginx一直声明它被拒绝访问权限,是的,我已经重新启动了服务器.
Nginx是以root身份启动的(不是最好的方式,但它只是它的方式,我不是那样设置它的人)并且有问题的套接字由应用程序的用户拥有.
如果它很重要,那么套接字适用于在美洲狮网络服务器上运行的rails应用程序.
我正在使用的发行版是Redhat.
我试过跟踪我发现的here,但是当我试着跑的时候
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
但我仍然得到相同的错误,在打开审计日志后,搜索与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 =成功为什么nginx仍被拒绝?
另外,当我为这个项目尝试audit2allow时,我在这个user question中获得了一个空白的policy.te文件,当然下划线的情况可能和我在RHEL上运行的情况不一样.
此外,我不确定SElinux是否正在运行但是正在进行getenforce返回:已禁用.
我认为最终这是一个用户权限问题,因为将套接字位置移动到任何可以访问的位置都可以解决问题.
解决方法:
我面临同样的问题.你必须禁用SELinux.有关详细步骤,请点击链接:
http://blog.odoobiz.com/2017/11/rhel-wsgi-nginx-error-permission-denied.html
标签:nginx,permissions,rails,unix-sockets 来源: https://codeday.me/bug/20190815/1660158.html