您的位置:首页技术文章

服务器nginx权限被拒绝解决案例

【字号: 日期:2023-03-28 17:34:56浏览:58作者:猪猪
目录
  • 主题
  • 经过
  • 最终解决办法
    • SeLinux概念作用
    • 无效尝试
  • 总结

    主题

    现在服务器资产多种多样,习惯了阿里云的保姆式配置,其他私有云的装机配置各有各的风格,今天聊聊nginx突发状况,权限被拒绝的问题相关排查过程及解决办法。

    经过

    本来以为是个相当愉快的过程,上一篇说明了服务器安全原因,相关网络环境的排查,这次继续说一说关于nginx代理遇到的问题 先说说表象,原本的服务器已经预装了nginx找到相关配置进行设置以后,还是无法访问

    ps -aux | grep nginx  //查看nginx进程情况
    netstat -anp | grep :80 //查看相关端口已正常启动
    

    在确定相关nginx已经启动的情况下,发现代理的网站无法访问,接口相关的500可以正常返回

    curl 127.0.0.1:80/web //验证访问内容
    /var/log/nginx/      //查看相关日志信息
    

    或者用一下命令查看

    systemctl status nginx.service -l
    

    经过对错误日志的排查发现访问网站静态网页时,相关异常为 'Permission denied',这种情况查了很多资料,

    最终解决办法

    chcon命令是修改对象(文件)的安全上下文,比如:用户、角色、类型、安全级别。也就是将每个文件的安全环境变更至指定环境。

    SeLinux概念作用

    系统开启了SeLinux,受到了SeLinux的限制 先说说SeLinux的概念和作用

    selinux(Security-Enhanced Linux)安全增强型linux,是一个Linux内核模块,也是Linux的一个安全子系统。

    三种模式

    Enforcing:强制模式,在selinux运作时,已经开始限制domain/type。

    permissive: 警告模式,在selinux运作时,会有警告讯息,但不会限制domain/type的存取。

    disabled: 关闭模式。

    可用getenforce查看selinux状态

    selinux对文件的作用:

    当开启selinux后,selinux会给每个文件加载标签context,安全上下文必须配对,否则文件不能访问 查看下selinux策略配置(找到能生效的文件夹和当前发布的文件夹权限区别,进行相关的设置)

    ls -lrtZ /usr/share/nginx/html
    
     chcon -R -t httpd_sys_content_t  /home/xx/
     nginx -s reload
    

    最终解决了相关问题,以下是进行的一些无效尝试,可能某些服务器环境可以生效

    无效尝试

    • 发布文件夹授权的尝试
    sudo chmod o+x /home/xxx/
    
    • 关于nginx配置文件/etc/nginx/nginx.conf,指定用户的尝试,依然无效
    user nginx; ->更改为 user root
    nginx -s reload
    
    • 其他比较粗暴一点儿的教程要么直接关闭或临时性解决
    setenforce 0 ##设置SELinux 成为permissive模式
     #setenforce 1 ##设置SELinux 成为enforcing模式
    

    永久生效 修改/etc/selinux/config文件,将SELINUX=enforcing改为SELINUX=disabled,重启机器 没敢关闭这个安全策略

    总结

    、我这种吸引bug的体质,不配顺顺利利完成任务、服务器的问题在最开始上班时,windows环境下经常最头疼的就是服务器环境的预装上线,常常因为这个问题搞到1点多,但那会羁绊少,怀着学习和对事儿的认真,再加上一块和组员和领导搓一顿,幸福感满满。

    其后也带过很多人,合作过许多人、形形色色的,慢慢的发现越往后入行的很多人害怕环境部署,害怕出问题,所以拒绝去尝试部署。动辄就是 "福报""PUA" 防身,非是站在道德制高点去指摘,很多事情过犹不及,盲目的随大流去指摘,人生活和工作都是在为自己负责,尽最大的努力,做最好的自己、莫作“总有刁民想要害朕”的心态太久,实在不行,换个环境解放局限性。

    linux环境之前一直浅用,之后算是有较多的涉足,沉淀下来的相关内容也会经常去完善补充,部署参考,工作久了很多对自身来说困难的事情,是没办法绕过去或者退缩的,一往无前吧、永远的少年

    以上就是服务器nginx权限被拒绝解决案例的详细内容,更多关于nginx服务器权限拒绝的资料请关注其它相关文章!

    标签: Nginx