![限制用户访问特定虚拟机(libvirt)](https://linux22.com/image/706278/%E9%99%90%E5%88%B6%E7%94%A8%E6%88%B7%E8%AE%BF%E9%97%AE%E7%89%B9%E5%AE%9A%E8%99%9A%E6%8B%9F%E6%9C%BA%EF%BC%88libvirt%EF%BC%89.png)
我有一台 Linux 主机 (SLES12),并通过 libvirt (KVM 虚拟机管理程序) 在主机上安装了一堆虚拟机。我为每个虚拟机分配了一个 GPU,并希望能够限制每个用户对特定虚拟机的访问(例如,用户“A”只能重新启动虚拟机“Z”和“Y”,或者只能连接到虚拟机“Y”)。那么,有没有办法通过 virsh 或其他工具进行这种类型的用户管理?
答案1
可以使用 libvirt 的访问控制框架和 polkit 规则来实现这一点
http://libvirt.org/aclpolkit.html
libvirt GIT 树中有一个示例配置:
http://libvirt.org/git/?p=libvirt.git;a=blob;f=examples/polkit/libvirt-acl.rules;hb=HEAD
该访问控制系统适用于所有连接到 libvirtd 的应用程序(virsh、virt-manager、virt-install 等)