SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统--百度百科。
基于经验来说SELinux在Linux文件“用户-组-其他”这一权限控制的基础上,将各常用软件的“平时只访问这些目录和文件”变成“以后只能访问这些目录和文件”。
比如对于mysql用户有/mysql/log的全部读写执行权限,但你将mysql数据库的日志目录在配置文件中修改成/mysql/log那mysql会被SELinux阻止启动,因为mysql平时的日志目录是/var/log/mysql.log。
所以可以理解SELinux像360一样的安全卫士,360平时当软件可疑时也禁止启动或直接删除,但SELinux更为安全同时也就意着更为死板改个目录都不允许这么严格限制必然和很多服务器软件和运维人员的习惯相冲突。
“所有操作都符合经验程官方文档程序却出现了错误最终你发现是因为不符合SELinux要求”这种现像的经常出现,让更多的人宁愿直接关闭SELinux。
状态查看:
[root@master ~]# sestatus SELinux status: enabled SELinuxfs mount: /sys/fs/selinux SELinux root directory: /etc/selinux Loaded policy name: targeted Current mode: enforcing Mode from config file: enforcing Policy MLS status: enabled Policy deny_unknown status: allowed Max kernel policy version: 31
[root@master ~]# getenforce
Enforcing
临时关闭:
setenforce 0
彻底关闭:
修改/etc/selinux/config 文件
将SELINUX=enforcing改为SELINUX=disabled
重启机器即可
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config #修改配置文件中的默认模式 reboot