26 lines
1.2 KiB
Diff
26 lines
1.2 KiB
Diff
|
apparmor: allow libvirtd to send signals to unconfined processes
|
||
|
|
||
|
When confinement of QEMU/KVM domains is not enforced (security_default_confined = 0),
|
||
|
qemu processes run unconfined. Add a rule to the libvirtd apparmor profile allowing
|
||
|
sending signals to unconfined processes. Without the rule, libvirtd
|
||
|
is unable to signal QEMU/KVM domains. E.g. 'virsh destroy dom' results in the
|
||
|
following denial in audit.log
|
||
|
|
||
|
type=AVC msg=audit(1510951646.581:939): apparmor="DENIED" operation="signal"
|
||
|
profile="/usr/sbin/libvirtd" pid=18891 comm="libvirtd" requested_mask="send"
|
||
|
denied_mask="send" signal=term peer="unconfined"
|
||
|
|
||
|
Index: libvirt-4.0.0/examples/apparmor/usr.sbin.libvirtd
|
||
|
===================================================================
|
||
|
--- libvirt-4.0.0.orig/examples/apparmor/usr.sbin.libvirtd
|
||
|
+++ libvirt-4.0.0/examples/apparmor/usr.sbin.libvirtd
|
||
|
@@ -63,7 +63,7 @@
|
||
|
|
||
|
signal (send) peer=/usr/sbin/dnsmasq,
|
||
|
signal (read, send) peer=libvirt-*,
|
||
|
- signal (send) set=("kill") peer=unconfined,
|
||
|
+ signal (send) set=("kill", "term", "hup") peer=unconfined,
|
||
|
|
||
|
# Very lenient profile for libvirtd since we want to first focus on confining
|
||
|
# the guests. Guests will have a very restricted profile.
|