我发现后尝试调整 AppArmor 配置文件一些指导在我的用例中应该禁用它(裸运行 IPSec 守护进程不太高兴)。
因此,我尝试将其置于complain
模式下,这解决了问题,但没有实际揭示原因是什么;我本来aa-logprof
期望在那里帮助我但回来时空空如也。
进一步挖掘,我发现了这个确凿无疑的证据/var/log/messages
(在启用complain
模式之前):
type=1400 audit(1470858266.974:84): apparmor="DENIED" operation="capable" profile="/usr/lib/ipsec/charon" pid=27117 comm="charon" capability=1 capname="dac_override"
启用complain
模式产生:
type=1400 audit(1470855949.106:69): apparmor="ALLOWED" operation="capable" profile="/usr/lib/ipsec/charon" pid=4674 comm="charon" capability=1 capname="dac_override"
所以它看起来像是capability dac_override
缺少的东西(事实上,如果我手动将它添加到配置文件中,它就可以工作)。
但我很困惑为什么没有明确透露这一点complain
。是否complain
透明启用dac_override
?
我对 AppArmor 还很陌生;我今天确实花了相当多的时间尝试解析文档,但找不到任何对此行为的引用......
(Ubuntu 14.04 上的 apparmor 2.8.95~2430-0ubuntu5.3,内核 3.13.0-92)