@HeroFromEarth

Как создать unix-channel в 'connect' source mode с включённым SELinux?

У меня на CentOS 6 имеется домен с конфигурацией:
.........................................................
<channel type='unix'>
  <source mode='bind' path='/var/lib/libvirt/qemu/vport0'/>
  <target type='virtio' name='vport0'/>
  <address type='virtio-serial' controller='0' bus='0' port='1'/>
</channel>
<channel type='unix'>
  <source mode='connect' path='/var/lib/libvirt/qemu/vport0'/>
  <target type='virtio' name='vport0'/>
  <address type='virtio-serial' controller='0' bus='0' port='2'/>
</channel>
.........................................................

После его запуска с включённым SELinux я наблюдаю следующую ошибку:
error: Failed to start domain proxy-agent0
error: unable to set security context 'system_u:object_r:svirt_image_t:s0:c269,c347' on '/var/lib/libvirt/qemu/vport0': No such file or directory

С выключенным SELinux проблема не наблюдается, домен запускается без ошибок.
Как решить проблему помимо отключения SELinux? Есть ли способ принудительно создать виртуальный порт сразу после прочтения пункта в конфигурации?

Подчеркну вот какой момент: при конфигурации с каналом только с source mode='bind' ошибок нет.

# ausearch -r -m VIRT_CONTROL -ts today
type=VIRT_CONTROL msg=audit(1482305847.172:2201): user pid=2430 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:virtd_t:s0-s0:c0.c1023 msg='virt=kvm op=start reason=booted vm="proxy-agent0" uuid=62bb1bc5-4e17-f67b-22a4-c14a487547e8 vm-pid=-1 exe="/usr/sbin/libvirtd" hostname=? addr=? terminal=? res=failed'
  • Вопрос задан
  • 282 просмотра
Решения вопроса 1
@HeroFromEarth Автор вопроса
Ответ на вопрос найден.
В конфиге домена нужно прописать строку:
<seclabel type='none' model='selinux'/>
При этом SELinux на гипервизоре не проверяет никакие файлы, относящиеся к домену, но сам домен стартует.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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