403可能出现的原因是什么?怎么解决?
403可能出现的原因是什么?
一、启动用户和 nginx 工作用户不一致
查看运行 nginx 的用户
# 输出启动用户 |
解析:
ps 查看进程
ps a 显示现行终端的所有程序
ps u 以用户为主的格式显示程序状态
ps x 显示所有程序,不以终端机来区分
grep 搜索匹配
awk 文本分析,上述例子中,每行按空格或TAB分割,输出文本中的第1项
修改 nginx.config 的用户
vi /etc/nginx/nginx.conf |
二、缺少 index.html 或 index.php
nginx 配置文件中 server 块配置目录找不到 index 的文件
server { |
三、权限问题
nginx 没有操作配置文件中 root 目录的权限。
解决:
修改目录权限
或修改 nginx 启动用户
四、SELinux 设置为开启状态的原因
修改 /etc/selinux/config 配置为 disabled , reboot 重启
拓展
1、SELinux 是什么? 为什么会导致403?
SELinux: Security Enhanced Linux 的缩写,也就是安全强化的 Linux。
传统的 Linux 系统中,默认权限是对文件或目录的所有者、所属组和其他人的读、写和执行权限进行控制,这种控制方式称为自主访问控制(DAC)方式;
而在 SELinux 中,采用的是强制访问控制(MAC)系统,也就是控制一个进程对具体文件系统上面的文件或目录是否拥有访问权限,而判断进程是否可以访问文件或目录的依据,取决于 SELinux 中设定的很多策略规则
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 指尖改变世界!