Отказано в доступе к virtlogd-sock в Debian 9 (selinux)

381
uid1000

На новой установке Debian 9 я установил qemu / KVM и libvirt. Я включил selinux с политикой по умолчанию (следуя вики Debian).

У меня проблема с selinux: доступ к / run / libvirt / virtlogd-sock (необходим при запуске виртуальной машины) запрещен selinux:

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 

Это похоже на проблему в политике по умолчанию. Но я не понимаю, почему целевой контекст в сообщении AVC не совпадает с контекстом, возвращаемым ls -Z:

# 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 

Добавление

allow virtd_t initrc_t:unix_stream_socket connectto; 

чтобы политика решала проблему, но я думаю, что это не правильный путь.

Заключение

Почему целевой контекст не совпадает с контекстом, возвращаемым ls?

Как лучше всего решить проблему?
Изменить контекст сокета или пропатчить политику?

0
Что-то не так с политиками SELinux Debian. Целевой контекст в вашем AVC фактически не совпадает с контекстом сокета! Конечно, последнее, что я слышал, Debian вообще не поддерживал свои политики SELinux. Вы можете попробовать сообщить об ошибке в Debian или переключиться на дистрибутив, который хорошо работает с SELinux, например, RHEL / CentOS или Fedora. Michael Hampton 5 лет назад 0

0 ответов на вопрос

Похожие вопросы