多くのユーザーがいるdebianホストでは、異なるユーザーが完全に独立した独自のVMを作成できるようにしたいと思います。
私がガイドで見た最も関連性の高い(非ルート)方法は、qemu:///system
ハイパーバイザー。これは、すべてのユーザー間で共有されるシステムハイパーバイザーです。さらに、ディスクイメージファイルはroot(またはkvm)ユーザーが所有します。つまり、ディスクイメージファイルの場所へのファイルシステムパス全体が誰でも読み取り可能でなければなりません。
上記およびその他の理由により、VMを純粋かつ完全に非rootユーザーとして実行したい。それはqemu:///session
。だから主な質問はどうすればいいですか?使用できるガイドはありますか?
私は新しい仮想ブリッジifaceを作成しようと試みましたが、私がnetdevグループのメンバーであるにもかかわらず、次のことを行うと、「許可が拒否されました」というエラーが発生します。
virsh -c qemu:///session net-create /etc/libvirt/qemu/networks/mynet.xml
mynet.xmlはデフォルトのネットワークと同じですが、サブネットが異なります。
使用しているのはKVM=直接ではなく、libvirt
という管理ライブラリです。
ホスト上のvirsh
グループとlibvirtd
グループにユーザーを追加することで、libvirtのセットアップにアクセスできるユーザーを指定できます(したがって、VMを作成し、ほとんどの場合kvm
コマンドを実行します)。
policykit
を使用してアクセスを管理することもできます。手順はlibvirt Wikiで説明されています。 SSHPolicyKitSetup | Libvirt Wiki
KVMの場合、デバイスにアクセスする必要があります/dev/kvm
。ユーザーがこのデバイスに読み書きできる場合、ルート権限なしでKVMベースの仮想マシンを実行できます。
ほとんどのディストリビューションでは、kvm
グループのメンバーがこのデバイスにアクセスできるため、ユーザーをkvm
グループに追加するだけで済みます。