Ubuntu由于apparmor配置导致日志文件无法读写

在strongswan查看日志的时候,并没有找到在strongswan.conf中配置的日志文件,我的相应配置如下:

# strongswan.conf - strongSwan configuration file
#
# Refer to the strongswan.conf(5) manpage for details
#
# Configuration changes should be made in the included files

charon {  
       plugins {  
        include strongswan.d/charon/*.conf  
    } 

     filelog {  
            /var/log/strongswan.log {  
                time_format = %b %e %T  
                    default = 4  
                    append = no  
                    flush_line = yes  
            }
	}  
}
include strongswan.d/*.conf

创建文件并对所有用户修改权限也没有用,查看/var/log/syslog文件在启动的时候报错:

报错如下(打开文件报错):

Apr 24 16:36:32 ubuntu kernel: [  690.797791] audit: type=1400 audit(1524558992.560:41): apparmor="DENIED" operation="open" profile="/usr/lib/ipsec/charon" name="/var/log/strongswan.log" pid=3723 comm="charon" requested_mask="wc" denied_mask="wc" fsuid=0 ouid=0

或者(创建文件报错):

Apr 24 17:02:32 ubuntu kernel: [ 2250.553437] audit: type=1400 audit(1524560552.427:182): apparmor="DENIED" operation="mknod" profile="/usr/lib/ipsec/charon" name="/var/log/strongswan.log" pid=4557 comm="charon" requested_mask="c" denied_mask="c" fsuid=0 ouid=0

原因:

这是由于在Ubuntu中使用了apparmor配置,需要在相应配置文件修改相应文件权限控制。

参考:https://www.cnblogs.com/0xJDchen/p/6055531.html

解决方法

1 修改apparmor配置

sudo vim '/etc/apparmor.d/usr.lib.ipsec.charon'
大括号中其他文件权限配置之后,添加(前面的内容为定义的log文件的路径,后面的是分配的权限),由于我在strongswan.conf中filelog的路径配置的为/var/log/strongswan.log,因此我配置的权限如下:
/var/log/strongswan.*      rwk,
2 执行apparmor重新加载:
sudo /etc/init.d/apparmor reload
3 重启strongswan,我自测如果不重启还是没有文件
sudo ipsec restart

就可以看到日志了

PS:还有一种省事的解决方法:在配置文件usr.lib.ipsec.charon中查找已经存在的权限为rw的文件或者文件夹,将日志文件放到那里就可以(比如:/run/charon.* rw,可以将日志文件配置到:/run/charon.log,虽然停止进程就会删除这个文件),按照不同需求来配置吧。

相关文章

目录前言一、创建Hadoop用户二、更新apt和安装Vim编辑器三、...
原文连接:https://www.cnblogs.com/yasmi/p/5192694.html ...
电脑重启后,打开VirtualBox,发现一直用的虚拟机莫名的消失...
参见:https://blog.csdn.net/weixin_38883338/article/deta...
Ubuntu 18.04 LTS 已切换到 Netplan 来配置网络接口。Netpla...
介绍每个 Web 服务都可以通过特定的 URL 在 Internet 上访问...