Root sieht keine KVM-Gäste von Nicht-Superusern

Root sieht keine KVM-Gäste von Nicht-Superusern

Warum weiß Root nichts über die KVM-Gäste eines normalen Benutzers?

user@Lin0011:~$ virsh list --all
 Id   Name         State
-----------------------------
 -    Lin0021   shut off

user@Lin0011:~$ 
root@Lin011# virsh list --all
 Id   Name   State
--------------------

root@Lin011# 
user@Lin0011:~$ virsh uri
qemu:///session

user@Lin0011:~$ 
user@Lin0011:~$ 
user@Lin0011:~$ env | grep VIR
user@Lin0011:~$ 
root@Lin011# virsh uri
qemu:///system

root@Lin011# 
root@Lin011# 
root@Lin011# env | grep VIR
root@Lin011# 


Antwort1

Warum weiß Root nichts über die KVM-Gäste eines normalen Benutzers?

Das liegt daran, dass der Befehl virshim Kontext des aktuellen Benutzers funktioniert.

Damit ein beliebiger Benutzer (z. B. root) den Befehl im Kontext eines anderen Benutzers ausführen kann, müssen wir den Befehl im Kontext dieses Benutzers ausführen.

Um dies zu ermöglichen pkexec, kann dieser Befehl hilfreich sein. Wenn Sie ein Debian-System verwenden, besteht der erste Schritt darin, es wie folgt zu installieren:

sudo apt install pkexec

Wenn Sie eine andere Distribution verwenden, die nicht verwendet, aptverwenden Sie zur Installation den Paketmanager Ihrer Distribution pkexecanstelle vonapt

Wenn dies nicht der Fall ist root, melden Sie sich rootzum Testen an:

sudo -s

Und führen Sie den Befehl im Kontext des Benutzers mit dem Namen aususer

pkexec --user user virsh list --all

Soll virtuelle Maschinen des Benutzers mit dem Namen ausgebenuser

verwandte Informationen