为什么 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