我正在尝试在 Ubuntu 上设置一个特权容器,其中 apparmor 拒绝在运行时挂载/run
/run/lock
和/或运行。sys/fs/cgroup
lxc-start
违规行为
[ 1621.278919] audit: type=1400 audit(1499177276.634:12): apparmor="DENIED" operation="mount" info="failed flags match" error=-13 profile="/usr/bin/lxc-start" name="/run/" pid=2097 comm="systemd" fstype="tmpfs" srcname="tmpfs" flags="rw, nosuid, nodev, strictatime"
[ 1621.302331] audit: type=1400 audit(1499177276.658:13): apparmor="DENIED" operation="mount" info="failed flags match" error=-13 profile="/usr/bin/lxc-start" name="/run/lock/" pid=2097 comm="systemd" fstype="tmpfs" srcname="tmpfs" flags="rw, nosuid, nodev, noexec"
[ 1621.325944] audit: type=1400 audit(1499177276.682:14): apparmor="DENIED" operation="mount" info="failed flags match" error=-13 profile="/usr/bin/lxc-start" name="/sys/fs/cgroup/" pid=2097 comm="systemd" fstype="tmpfs" srcname="tmpfs" flags="rw, nosuid, nodev, noexec, strictatime"
lxc-start --version
:2.0.6
内核版本:4.9
有什么提示吗?
答案1
安装 apparmor-utils 软件包,然后启动与服务器的两个会话。在一个会话中,运行:
genprof /usr/bin/lxc-start
另一方面,实际运行该过程。然后 genprof 会话将提示您实际希望进程有权访问的内容。
答案2
正如 Raman Sailopal 所说 - genprof 可以在这里提供帮助。你是aa-genprof <path to application>
$ sudo aa-genprof /usr/bin/lxc-start