SELinux 阻止apache
用户写入它拥有的日志文件。当我这样做setenforce 0
时。否则显示此错误
IOError: [Errno 13] Permission denied: '/var/www/webapp/k/site/k.log'
Run Code Online (Sandbox Code Playgroud)
文件的安全上下文:
$ ll -Z k.log
-rw-r--r--. apache apache system_u:object_r:httpd_sys_content_t:s0 k.log
Run Code Online (Sandbox Code Playgroud)
该文件是在 SELinux 模式设置为 permissive 时创建的。
如何设置安全上下文以便apache
用户可以在该目录中写入?我确实使用了该目录安全上下文,chcon
但我找不到合适的文件类型。
来自audit.log
:
type=AVC msg=audit(1409945481.163:1561): avc: denied { append } for pid=16862 comm="httpd" name="k.log" dev="dm-1" ino=201614333 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:httpd_sys_content_t:s0 tclass=file
type=SYSCALL msg=audit(1409945481.163:1561): arch=c000003e syscall=2 success=no exit=-13 a0=7fa8080847a0 a1=441 a2=1b6 a3=3 items=0 ppid=15256 pid=16862 auid=4294967295 uid=48 gid=48 euid=48 suid=48 fsuid=48 egid=48 sgid=48 fsgid=48 tty=(none) ses=4294967295 comm="httpd" exe="/usr/sbin/httpd" subj=system_u:system_r:httpd_t:s0 key=(null)
Run Code Online (Sandbox Code Playgroud) 我确实在 Centos 6 中设置了一个虚拟网络接口,将 ifcfg-eth0 复制到 ifcfg-eth0:1 并更改了适当的变量。但是连接不稳定。尽管预先存在的变量之一是PREFIX=24
我必须添加NETMASK=255.255.255.0
到虚拟接口脚本中才能使连接稳定。这些变量不应该有同样的效果吗?
编辑:
这是 ifcfg-eth0:1 不稳定:
DEVICE="eth0:1"
NM_CONTROLLED="yes"
ONBOOT=yes
HWADDR=00:26:18:24:4D:xx
TYPE=Ethernet
BOOTPROTO=none
IPADDR=69.64.93.x
PREFIX=24
GATEWAY=64.150.183.1
DNS1=69.64.66.11
DNS2=69.64.66.10
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0:1"
Run Code Online (Sandbox Code Playgroud)
在稳定版中,我刚刚添加了这一行:
NETMASK=255.255.255.0
Run Code Online (Sandbox Code Playgroud)
ifconfig
输出先不稳定后稳定:
eth0:1 Link encap:Ethernet HWaddr 00:26:18:24:4D:xx
inet addr:69.64.93.x Bcast:69.255.255.255 Mask:255.0.0.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:28 Base address:0x6000
eth0:1 Link encap:Ethernet HWaddr 00:26:18:24:4D:xx
inet addr:69.64.93.x Bcast:69.64.93.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:28 Base address:0x6000
Run Code Online (Sandbox Code Playgroud)