AppArmor 拒绝挂载操作

AppArmor 拒绝挂载操作

我如何说服 apparmor 允许此操作?

[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 / -> /,拒绝重新挂载(而允许第一个绑定挂载)。

答案1

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

Bind 具有与原始选项相同的选项,因此您只能绑定安装 / 的 rw 副本。除非您将整个 / 重新安装为 ro。我猜您不想这样做。

需要分两步进行。

mount --bind /vital_data /untrusted_container/vital_data

mount -o remount,ro /untrusted_container/vital_data

相关内容