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守护程序实例,您将只看到自己的计算机(换句话说,它将与其他用户的会话守护进程隔离).

相关文章

/etc/sysctl.conf这个目录主要是配置一些系统信息,/etc/sys...
1.作用 useradd或adduser命令用来建立用户帐号和创建用户的起...
它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅...
不管是我们在安装软件还是监测软件的使用性能,我们都要随时...
装好Tomcat7后,发现除了本机能访问外界访问不了,岂有此理。...
修改防火墙配置需要修改 /etc/sysconfig/iptables 这个文件,...