SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统。
setenforce是Linux的selinux防火墙配置命令 执行setenforce 0 表示临时关闭selinux防火墙。
setenforce命令是单词set(设置)和enforce(执行)连写,另一个命令getenforce可查看selinux的状态
命令临时生效:
setenforce 0
1 启用
0 告警,不启用
在开启apache、nginx的时候,如果报错,可以试着执行
setenforce 0
运行一下命令启动docker
docker start b2c
发现启动失败, docker logs b2c看日志,发现下面错误:
/07/03 16:03:06 [emerg] 1#1: open() "/usr/local/openresty/nginx/conf/nginx.conf" failed (13: Permission denied)
可是看nginx.conf的权限, 所有人都有读权限啊:
[root@anti-03 config]# ls -l
total 20
-rw-rw-rw-. 1 root root 6450 Jul 3 15:59 nginx.conf
-rw-r--r--. 1 root root 4483 Nov 2 nginx.conf.all_proxy
-rwxr-xr-x. 1 root root 266 Nov 2 switch_conf.sh
一番百度,发现是enforce没有关闭导致的. 可以用下面命令临时关闭
setenforce 0
如果要永久关闭,可以
修改/etc/selinux/config 文件
将SELINUX=enforcing改为SELINUX=disabled
重启机器即可