
為什麼 root 不知道普通使用者的 KVM guest 虛擬機器?
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#
答案1
為什麼 root 不知道普通使用者的 KVM guest 虛擬機器?
這是因為該命令virsh
在當前使用者的上下文中運行。
為了讓任意使用者(例如root
)在另一個使用者的上下文中執行該命令,我們需要在該使用者的上下文中執行該命令。
為了讓這個可能的pkexec
命令可以提供幫助,如果您使用的是 Debian 系統,第一步是安裝它,如下所示:
sudo apt install pkexec
如果您使用的是其他不使用的發行版,apt
請使用您的發行版套件管理器來安裝pkexec
,而不是apt
然後,如果您沒有root
,請登入root
進行測試:
sudo -s
並在名為的用戶的上下文中執行命令user
pkexec --user user virsh list --all
應該輸出名為的用戶的虛擬機user