Portál AbcLinuxu, 14. listopadu 2025 17:39
br0).
Uživatelské virtuály (qemu:///session) běží sice pod neprivilegovaným uživatelem, ale nefugnuje mi v nich tapnutí na br0*
Systémové virtuály (qemu:///system) se k síti připojí a z tohoto hlediska fungují přesně jak potřebuji**. Ale proces kvm pak běží pod rootem, což se mi nelíbí. Uživatele i skupinu lze nastavit v /etc/libvirt/qemu.conf. To jsem udělal, ale dostanu chybu:
virsh # start koala chyba: Nepodařilo se spustit doménu koala chyba: internal error unable to start guest: libvir: QEMU error : cannot change to '1003' group: Operation not permittedNa stránkách libvirtu jsem se dočetl, že:
The directories /var/run/libvirt/qemu/, /var/lib/libvirt/qemu/ and /var/cache/libvirt/qemu/ must all have their ownership set to match the user / group ID that QEMU guests will be run as.Tak jsem všem těm adresářům (rekurzivně) nastavil příslušného vlastníka a skupinu, ale nepomohlo to – pořád stejná chyba. Napadá vás, co je ještě potřeba udělat? Ve
/var/log/messages se při pokusu o start objeví:
type=1505 audit(1269731294.962:131): operation="profile_load" pid=15278 name=libvirt-c3abdaf5-c5dc-9e5a-14ff-c734bcce1484 device vnet0 entered promiscuous mode br0: port 2(vnet0) entering learning state type=1503 audit(1269731294.972:132): operation="capable" pid=15280 parent=15046 profile="libvirt-c3abdaf5-c5dc-9e5a-14ff-c734bcce1484" name="setgid" br0: port 2(vnet0) entering disabled state device vnet0 left promiscuous mode br0: port 2(vnet0) entering disabled state type=1505 audit(1269731295.204:133): operation="profile_remove" pid=15282 name=libvirt-c3abdaf5-c5dc-9e5a-14ff-c734bcce1484 namespace=defaultRadši bych používal ty uživatelské virtuály (
qemu:///session), ale pokud v nich nefunguje síť (br0), tak se smířím i s těmi systémovými (qemu:///system), ale potřeboval bych změnit toho uživatele a skupinu, pod kterými to běží.
*) Failed to add tap interface 'vnet%d' to bridge 'br0' : Permission denied (někde jsem se dočetl, že v libvirt tohle nefunguje a nepomohla ani úprava práv /dev/net/tun, takže už jsem to dál nezkoušel)
**) akorát jsem musel shodit firewall (budu si muset upravit pravidla).
Řešení dotazu:
/etc/apparmor.d/usr.sbin.libvirtd kromě jiného je:
capability setgid capability setuidTo by mělo stačit ne?
Mohl za to skutečně ten Apparmor – zakazoval toho víc než měl (i když je to zvláštní). Stačilo vypnout profil usr.sbin.libvirtd. Pak sem musel poštelovat ještě trochu práva (setfacl…), ale už KVM funguje, jak má.
musel poštelovat ještě trochu práva (setfacl…)
Muzu se zeptat kde vsude? Diky
setfacl -m u:qemu:rw /dev/kvm setfacl -m g:qemu:rw /dev/kvmDo té doby se nepoužívalo HW urychlení virtualizace, takže to bylo neskutečně pomalé a v
kvm_stat nebyla vidět žádná činnost.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.