Berechtigung auf virtlogd-sock unter Debian 9 (selinux) verweigert

511
uid1000

Bei einer Neuinstallation von Debian 9 habe ich qemu / KVM und libvirt installiert. Ich habe selinux mit der Standardrichtlinie aktiviert (nach dem Debian-Wiki).

Ich habe ein Problem mit Selinux: Der Zugriff auf / run / libvirt / virtlogd-sock (erforderlich, wenn eine VM gestartet wird) wird von Selinux verhindert:

type=AVC msg=audit(...): avc: denied { connectto } for pid=2214 comm="libvirtd" path="/run/libvirt/virtlogd-sock" scontext=system_u:system_r:virtd_t:s0-s0:c0.c1023 tcontext=system_u:system_r:initrc_t:s0 tclass=unix_stream_socket permissive=0 

Es sieht nach einem Problem in der Standardrichtlinie aus. Ich verstehe nicht, warum der Zielkontext in der AVC-Nachricht nicht mit dem von ls -Z zurückgegebenen Kontext übereinstimmt:

# ll -Z /run/libvirt/virtlogd-sock srw-rw-rw-. 1 root root system_u:object_r:virt_var_run_t:s0 0 oct. 25 18:53 /run/libvirt/virtlogd-sock 

Hinzufügen

allow virtd_t initrc_t:unix_stream_socket connectto; 

Um die Politik zu lösen, lösen Sie das Problem, aber ich denke, es ist nicht der richtige Weg.

Fazit

Warum passt der Zielkontext nicht zu dem von ls zurückgegebenen Kontext?

Was ist der beste Weg, um das Problem zu lösen?
Kontext des Sockets ändern oder die Richtlinie patchen?

0
Etwas stimmt nicht mit den SELinux-Richtlinien von Debian. Der Zielkontext in Ihrem AVC stimmt nicht mit dem Kontext des Sockets überein! Das letzte Mal, dass ich gehört habe, hat Debian seine SELinux-Richtlinien natürlich nicht wirklich beibehalten. Sie können versuchen, einen Debian-Fehler zu melden oder zu einer Distribution zu wechseln, die SELinux gut tut, wie RHEL / CentOS oder Fedora. Michael Hampton vor 6 Jahren 0

0 Antworten auf die Frage