linux – 如何创建一个每个用户的vm被隔离的环境

前端之家收集整理的这篇文章主要介绍了linux – 如何创建一个每个用户的vm被隔离的环境前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想知道是否可以使用KVM libvirt创建多用户环境
也就是说,每个用户都可以创建自己的虚拟机,但其他用户无法访问
看到这个 Multiuser use of virt-manager
好像不起作用
编辑1:我想为每个vm设置所有者

解决方法

感谢libvirt的PolicyKit支持,我相信这可以根据您需要的功能来完成.

规则可以由您创建,并由PolicyKit ACL作为数据库(文件,服务器等)访问,以获取有关所有者的信息.此外,如果PolicyKit规则具有对数据库的写入权限,则可以在创建VM时将VM分配给各自的所有者,从而自动创建该数据库.它可能不是万无一失的(例如,当VM定义失败时,数据库已经有了该记录),因此根据您要查找的功能,可能需要更多钩子.这就是为什么有一些项目建立在libvirt(或者只是管理员部署的脚本)之上,可以拥有更多功能.

如果一个更简单的事情足够你,那么你可以说用户只能在以用户名开头的虚拟机上调用API.只需确保覆盖角落案例(例如,用户“bla”无法访问用户的“blabla”机器).

如上所述,根据您需要多少功能,可以轻松完成,也可以使用几行脚本,或者您可能需要一个位于libvirt之上的完整虚拟化系统.

还有一件事没有人提到(它可能是你想要/正在寻找的东西).如果您(作为非root用户)连接到qemu:/// session(而不是系统,请参阅Connections to QEMU driver),您将连接到您自己的libvirt守护程序实例,您将只看到自己的计算机(换句话说,它将与其他用户的会话守护进程隔离).

猜你在找的Linux相关文章