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


Posted in Servers onSeptember 23, 2022

主题

现在服务器资产多种多样,习惯了阿里云的保姆式配置,其他私有云的装机配置各有各的风格,今天聊聊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服务器权限拒绝的资料请关注三水点靠木其它相关文章!

Servers 相关文章推荐
使用Apache的rewrite
Mar 09 Servers
Nginx Rewrite使用场景及配置方法解析
Apr 01 Servers
关于nginx 实现jira反向代理的问题
Sep 25 Servers
HDFS免重启挂载新磁盘
Apr 06 Servers
Windows Server 2012 R2 磁盘分区教程
Apr 29 Servers
Linux磁盘管理方法介绍
Jun 01 Servers
利用Apache Common将java对象池化的问题
Jun 16 Servers
vscode内网访问服务器的方法
Jun 28 Servers
搭建zabbix监控以及邮件报警的超级详细教学
Jul 15 Servers
windows server2016安装oracle 11g的图文教程
Jul 15 Servers
Fluentd搭建日志收集服务
Sep 23 #Servers
Flink 侧流输出源码示例解析
Sep 23 #Servers
修改Nginx配置返回指定content-type的方法
Sep 23 #Servers
Nginx如何配置多个服务域名解析共用80端口详解
Sep 23 #Servers
VMware虚拟机安装 Windows Server 2022的详细图文教程
zabbix如何添加监控主机和自定义监控项
Aug 14 #Servers
教你使用RustDesk 搭建一个自己的远程桌面中继服务器
Aug 14 #Servers
You might like
用Zend Encode编写开发PHP程序
2006/10/09 PHP
phpmail类发送邮件函数代码
2012/02/20 PHP
PHP调用C#开发的dll类库方法
2014/07/28 PHP
PHP中如何判断exec函数执行成功?
2016/08/04 PHP
实现laravel 插入操作日志到数据库的方法
2019/10/11 PHP
js模拟滚动条(横向竖向)
2013/02/22 Javascript
Jquery 跨域访问 Lightswitch OData Service的方法
2013/09/11 Javascript
利用javascript打开模态对话框(示例代码)
2014/01/11 Javascript
NodeJS学习笔记之(Url,QueryString,Path)模块
2015/01/13 NodeJs
基于jQuery Tipso插件实现消息提示框特效
2016/03/16 Javascript
Javascript中字符串和数字的操作方法整理
2017/01/22 Javascript
vue 每次渲染完页面后div的滚动条保持在最底部的方法
2018/03/17 Javascript
在vue2.0中引用element-ui组件库的方法
2018/06/21 Javascript
vue实现键盘输入支付密码功能
2018/08/18 Javascript
原生JS实现简单的倒计时功能示例
2018/08/30 Javascript
mpvue性能优化实战技巧(小结)
2019/04/17 Javascript
Vue 开发必须知道的36个技巧(小结)
2019/10/09 Javascript
vue+vant实现商品列表批量倒计时功能
2020/01/13 Javascript
python的Template使用指南
2014/09/11 Python
编写Python脚本来获取mp3文件tag信息的教程
2015/05/04 Python
用Python实现命令行闹钟脚本实例
2016/09/05 Python
python 自动去除空行的实例
2018/07/24 Python
解决Django后台ManyToManyField显示成Object的问题
2019/08/09 Python
python使用gdal对shp读取,新建和更新的实例
2020/03/10 Python
windows支持哪个版本的python
2020/07/03 Python
利用Node实现HTML5离线存储的方法
2020/10/16 HTML / CSS
后勤主管岗位职责
2014/03/01 职场文书
安全承诺书范文
2014/03/26 职场文书
文明市民先进事迹
2014/05/15 职场文书
热门专业求职信
2014/05/24 职场文书
2014年国庆节演讲稿
2014/09/02 职场文书
大学生第一学年自我鉴定2015
2014/09/28 职场文书
优秀大学生事迹材料
2014/12/24 职场文书
什么是求职信?求职信应包含哪些内容?
2019/08/14 职场文书
手写实现JS中的new
2021/11/07 Javascript
Java 死锁解决方案
2022/05/11 Java/Android