lna*_*ppa 5 server networking dhclient dhcp apparmor
我成功地将 KVM 服务器升级到 20.04.1 LTS,但是当后来尝试通过 ssh 访问它时,没有到服务器的网络路由,而虚拟机仍然运行得很好。登录控制台,我发现网桥丢失了其 IPv4 地址,并且dhclient不再运行。这种情况反复发生,网桥在启动时收到其 IPv4,但似乎在第一次租用后丢失了它。发布后dhclient -r br0我在日志中发现了这一点:
audit: type=1400 audit(1611698389.262:14): apparmor="DENIED" operation="open" profile="/{,usr/}sbin/dhclient" name="/proc/1878/task/1881/comm" pid=1878 comm="dhclient" requested_mask="wr" denied_mask="wr" fsuid=0 ouid=0
Run Code Online (Sandbox Code Playgroud)
我能够通过添加/proc/*/task/*/comm wr,到来解决这个问题/etc/apparmor.d/local/sbin.dhclient。但是,为什么 dhclient 首先需要 wr 访问 /proc...?我的备份服务器也在 20.04.1 LTS 上,没有这个也可以正常运行。
小智 5
为此报告了一个错误:https://bugs.launchpad.net/ubuntu/+source/isc-dhcp/+bug/1918410 并在 AppArmor 中修复https://gitlab.com/apparmor/apparmor/-/merge_requests /730配好弦:
owner @{PROC}/@{pid}/task/[0-9]*/comm rw,
Run Code Online (Sandbox Code Playgroud)
要解决此问题,请/etc/apparmor.d/sbin.dhclient使用文本编辑器编辑该文件并向其中添加以上行。
小智 3
AppArmor 不会杀死 dhclient,它只是拒绝访问该文件/proc/1878/task/1881/comm,并记录发生的违规情况。如果 AppArmor 杀死了 dhclient,则该消息将apparmor="KILLED"取代apparmor="DENIED".
如果 dhclient 在拒绝后退出,那是因为它将拒绝作为致命错误处理。
至于为什么 dhclient 要求访问该文件,它似乎想要更改其某些线程的通讯。您可以使用 man 5 proc 找到有关该文件的更多信息。
添加建议的规则通常应该是安全的。
| 归档时间: |
|
| 查看次数: |
2876 次 |
| 最近记录: |