自内核更改以来,Apparmor 拒绝了多个进程

自内核更改以来,Apparmor 拒绝了多个进程

我碰巧遇到了一个非常奇怪的问题。我从 4 月左右开始以开发模式运行 Ubuntu 17.10,从那时起,我一直试图使用最新的内核 RC,以避免我在 Dell Precision 上遇到的挂起和 GPU 方面的严重问题。

由于我安装了 4.14-rc2,我突然失去了 WiFi 连接。运行 bisect 后,我​​将问题缩小到内核中的变更集已更新 Apparmor。

查看journalctl -xe输出我注意到出现了很多类似的错误:

Oct 27 14:45:48 precision audit[6088]: AVC apparmor="DENIED" operation="create" profile="/sbin/dhclient" pid=6088 comm="dhclient" family="unix" sock_type="stream" protocol=0 requested_mask="create" denied_mask="create"

此类错误也发生在进程mysqldavahi-daemon和上cups-browsed。我已使用以下命令禁用这些进程的配置文件:

$ sudo ln -s /etc/apparmor.d/sbin.dhclient /etc/apparmor.d/disable
$ sudo apparmor_parser -R /etc/apparmor.d/sbin.dhclient 

砰的一声,我的 WiFi 又回来了。但这是处理这种情况的正确方法吗?我应该修改配置文件,还是向 Launchpad 提交错误?

答案1

是的,由于一些问题,内核安全性的重大更改(即 apparmor)未包含在内核 4.14-rc1 中,但已包含在内核 4.14-rc2 中。而且,确实存在不向后兼容的更改。

我自己,我要么在禁用 apparmor 的情况下编译内核,要么更简单地在禁用的情况下启动。例如在“/etc/default/grub”中:

#GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1 consoleblank=300"
GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1 consoleblank=300 apparmor=0"

相关的启动板错误报告(尽管描述有点错误)是这里。确实有一些解决方法。

请注意,这个问题和答案最终可能会被搁置,因为候选发布内核实际上不受支持。

编辑:来自错误报告的最新进展:

导致问题的内核补丁已恢复。因此 4.14-rc7 应该可以像 4.14-rc2 之前一样工作

相关内容