AppArmour miatti hiba: /var/lib/libvirt/images/SSDT1.dat: Permission denied

Fórumok

Az alábbi hibüzenet keletkezik a qemu/kvm virtuális gép indítása után:

  File "/usr/lib/python3/dist-packages/libvirt.py", line 1234, in create
    if ret == -1: raise libvirtError ('virDomainCreate() failed', dom=self)
libvirt.libvirtError: internal error: qemu unexpectedly closed the monitor: qemu-system-x86_64: -acpitable file=/var/lib/libvirt/images/SSDT1.dat: can't open file /var/lib/libvirt/images/SSDT1.dat: Permission denied

Előzmény: 

Adott egy notebook, intel GPU-val és egy notebookos Geforce kártyával. QEMU/KVM virtuális környezetbe lett telepítve Windows 10.

GPU passthrough-val kapja meg a Geforce kártyát a guest windows rendszer. A probléma az, hogy az Nvidia notebook geforce driver nem települ, mert nem találja az akkut. (Ellenőrzött információ)

Megoldás egy akku bekamuzása a virtuális gépbe, amihez létre kell hozni egy /var/lib/libvirt/images/SSDT1.dat fájlt a megfelelő tartalommal. 

Utána természetesen hozzá kell adni a megfelelő xml csoportot a konfigurációhoz. Itt kavar be az AppArmour!

A jogok természetesen be vannak állítva: 

-rw-r-xr--+ 1 libvirt-qemu kvm 161 Jan 21 03:40 /var/lib/libvirt/images/SSDT1.dat

Továbbá 

sudo setfacl -m u:libvirt-qemu:rx /var/lib/libvirt/
sudo getfacl -e /var/lib/libvirt/images/
getfacl: Removing leading '/' from absolute path names
# file: var/lib/libvirt/images/
# owner: libvirt-qemu
# group: kvm
user::rwx
user:libvirt-qemu:r-x           #effective:r-x
group::r-x                      #effective:r-x
mask::r-x
other::r-x

Azonban továbbra is /var/lib/libvirt/images/SSDT1.dat: Permission denied hibát kapok a virtuális gép indításakor. 

Hozzászólások

Szerkesztve: 2024. 01. 21., v – 18:44

Az owner-nek (libvirt-qemu) nem kell két különböző jogosultságot megadnod. (Unix: rw, ACL: rx).

aa-teardown utan is?

neked aztan fura humorod van...

A processzt futtató usernek van rx joga a teljes útvonal minden elemére (könyvtárak)?

Az elvart mukodes egy virtualis gep generalt apparmor profiljanal az, hogy csak a sajat dolgaihoz fer hozza (pl. UUID alapjan elnevezett image, hugepages es hasonlok). Hacsak nincs teljesen lecsapva az aa profilban a logolas a kernel audit logjaban ott is kell viritania, hogy beleblokkolt. A megolda pedig jo esellyel valahol az /etc/apparmor.d/libvirt/... kornyeken az adott virtualis gep profiljanak a kiegeszitese.