AppArmor拒绝安装操作


9

我如何说服保镖允许此操作?

[28763.284171] type=1400 audit(1344273461.387:192): apparmor="DENIED"
operation="mount" info="failed type match" error=-13 parent=7101
profile="lxc-container-with-nesting" name="/" pid=7112 comm="su"
flags="ro, remount, bind"

基本上,我试图以只读方式重新挂载根文件系统(在嵌套在LXC容器中的挂载名称空间中)。该设置是在该位置周围的一些绑定安装,以:

mount --rbind / /
mount -o remount,ro /

我尝试了以下每种组合:

mount options=(ro, remount, bind) / -> /,

我能想到的。添加规则会audit mount,显示我执行的所有其他安装,但不会显示在/上进行的安装。我能得到的最接近的是mount -> /,恕我直言太松了。甚至mount / -> /,拒绝重新安装(虽然允许第一次绑定安装)。


您可能会在这里获得帮助:lists.ubuntu.com/mailman/listinfo/apparmor

Answers:


2

按照:http : //lwn.net/Articles/281157/

绑定的选项与原始选项具有相同的选项,因此除非绑定整个/到ro。,否则只能绑定装入/ ..的rw副本。我猜您不想这样做。

需要分两个步骤。

mount --bind /vital_data /untrusted_container/vital_data

mount -o remount,ro /untrusted_container/vital_data


其实,这正是我想做的事情。所有需要写的目录(令人惊讶的是,btw)都在另一个文件系统上。唯一的问题是我无法说服AppArmor允许此特定操作。
Grzegorz Nosek

嗯,也许您可​​以禁用apparmor
Grizly

1
是的,我可以禁用AppArmor,也可以允许在/上挂载任何内容,正如我在问题中提到的那样。但是,如果我真的想从AppArmor中受益,那对我没有帮助。
Grzegorz Nosek

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.