Исправлены метки SELinux для общей папки виртуальной машины сеанса пользователя kvm/qemu.
Я пытаюсь настроить общую папку с использованием протокола 9p для виртуальной машины kvm/qemu, которая работает в сеансе пользователя (поэтому процесс qemu запускается от имени меня, а не от имени пользователя root). Монтирование общей папки в гостевой системе работает нормально, я могу видеть и читать все файлы, но не могу создавать новые или изменять существующие файлы. Это приводит просто к «отказано в разрешении», как если бы у меня не было прав на запись в файлы, хотяls -l
в гостях подтверждает, что я должен.
Я знаю, что это проблема с маркировкой SELinux на хосте. Когда я устанавливаю SELinux в разрешительный режим, используяsetenforce 0
, создание и изменение файлов работает нормально. Я также понял, что мне нужно установить соответствующую метку для общей папки на хосте. Чего я не могу понять, так это какая метка правильная. Кажется, я упустил правильный ярлык и также считаю, что MCS играет здесь свою роль.
Что у меня есть на данный момент:
[root@host]# semanage fcontext -l |grep simon
/home/simon/Documents/shared_folder(/.*)? all files unconfined_u:object_r:virt_content_t:s0
Вот что имеет процесс qemu:
[simon@host]$ ps -elfyZ|grep qemu
unconfined_u:unconfined_r:svirt_t:s0:c317,c827 S simon 12347 3560 1 80 0 552552 2413575 - 10:11 ? 00:00:15 /usr/bin/qemu-system-x86_64 -name guest=debian10-dev_default... (lots of flags)
На госте у меня есть:
vagrant@debian-10:/vagrant$ whoami
vagrant
vagrant@debian-10:/vagrant$ ls -la /vagrant
total 24
drwxrwxr-x 3 vagrant vagrant 4096 Feb 13 09:12 .
drwxr-xr-x 20 root root 4096 Jan 31 19:26 ..
drwxrwxr-x 4 vagrant vagrant 4096 Jan 22 16:20 .vagrant
-rw-rw-r-- 1 vagrant vagrant 1186 Feb 13 09:10 Vagrantfile
vagrant@debian-10:/vagrant$ mount | grep 9p
4ef5af6232a6a6d0dbdc1b2b9199253 on /vagrant type 9p (rw,relatime,sync,dirsync,access=1000,trans=virtio)
Идентификатор пользователя 1000 — это идентификатор пользователя Саймона на хосте. Хост работает под управлением Fedora Workstation 32, гость — Debian 10.
Любая помощь очень ценится!