Linux操作系统安全性非常高,但是新手在使用过程中经常遇到各种权限问题,此时总会怀念Windows。这不,今天在本地虚拟机上模拟网站迁移时又遇到了一个头疼的问题,一切准备就绪之后,访问网站,可是却得到了下面的提示信息:You don’t have permission to access this resource.在排除了防火墙firewalld、网站目录权限等问题之后,终于将罪魁祸首锁定在了SELinux!现在的云主机提供商大多提供了防火墙功能以保护你的主机,通过web界面可以轻松开启和关闭端口,因此可以放心的关闭Linux上的防火墙和SELinux。测试环境:AlmaLinux 8.5、MySQL8.0.30、Apache 2.4.37、PHP 7.4.19SELinux安全增强型Linux(SELinux)是一个Linux内核的功能,它是由美国国家安全局开发的,提供支持访问控制的安全政策保护机制。一般情况下,开启SELinux会提高系统的安全性,但是会破坏操作系统的文件,造成系统无法启动的问题。SELinux的运行状态有三种:enforcing:强制模式,表示所有违反安全策略的行为都将被禁止。permissive:宽容模式:表示所有违反安全策略的行为不被禁止,但是会在日志中作记录。disabled:关闭,SELinux 没有实际运行。查看SELinux的当前状态[root@almalinux ~]# getenforce
Enforcing关闭SELinux修改SELinux的config文件[/etc/selinux/config],改为 SELINUX=disabledvi /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing – SELinux security policy is enforced.
# permissive – SELinux prints warnings instead of enforcing.
# disabled – No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these three values:
# targeted – Targeted processes are protected,
# minimum – Modification of targeted policy. Only selected processes are protected.
# mls – Multi Level Security protection.
SELINUXTYPE=targeted值得注意的是:阿里云帮助文档中说:对于ECS还需要进行如下操作,否则直接重启实例将会出现系统无法启动的错误。在根目录下新建隐藏文件autorelabel,实例重启后,SELinux会自动重新标记所有系统文件。touch /.autorelabeltouch /.autorelabel但是我在本地虚拟机中运行的AlmaLinux 8.5中直接重启系统没有问题。重启Linux最后重启计算机,然后检查一下SELinux是否正确的关闭了。// 重启计算机
reboot
// 或者
shutdown -r now此外建议同时关闭防火墙systemctl disable firewalld –now
本文出自快速备案,转载时请注明出处及相应链接。