Apparmor 拒绝内核更改后的多个进程

Igo*_*yev 5 dhclient apparmor

我碰巧遇到了一个非常奇怪的问题。自 4 月左右以来,我一直在开发模式下运行 Ubuntu 17.10,自从我一直尝试使用最新的内核 RC 以避免我在戴尔 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"

像这样的错误也发生了procceses mysqldavahi-daemoncups-browsed。我使用以下命令禁用了这些进程的配置文件:

$ sudo ln -s /etc/apparmor.d/sbin.dhclient /etc/apparmor.d/disable
$ sudo apparmor_parser -R /etc/apparmor.d/sbin.dhclient 
Run Code Online (Sandbox Code Playgroud)

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

Dou*_*ies 3

是的,由于某些问题,内核安全性的重大更改(即 apparmor)错过了内核 4.14-rc1,但包含在内核 4.14-rc2 中。是的,有一个非向后兼容的更改。

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

#GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1 consoleblank=300"
GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1 consoleblank=300 apparmor=0"
Run Code Online (Sandbox Code Playgroud)

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

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

编辑:错误报告中的最新条目:

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