
なぜ root は一般ユーザーの KVM ゲストについて知らないのですか?
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 ゲストについて知らないのですか?
これは、コマンドがvirsh
現在のユーザーのコンテキストで機能するためです。
任意のユーザー (例: root
) が別のユーザーのコンテキストでコマンドを実行するには、そのユーザーのコンテキストでコマンドを実行する必要があります。
これを可能にするにはpkexec
、コマンドが役立ちます。Debian システムを使用している場合、最初の手順は次のようにインストールすることです。
sudo apt install pkexec
使用していない他のディストリビューションを使用している場合は、代わりにapt
ディストリビューションのパッケージマネージャを使用してインストールしてください。pkexec
apt
そうでない場合はroot
、 にログインしてroot
テストしてください。
sudo -s
そして、そのコマンドを次のユーザーのコンテキストで実行します。user
pkexec --user user virsh list --all
ユーザーの仮想マシンを出力する必要がありますuser