如何使用Virt管理器,Libvirt与普通用户没有根权限,也没有询问密码

virtmanager和libvirt是Linux生态系统中用于虚拟化的核心工具。作为最终用户,我正在使用这些工具来创建和运行虚拟机。我以普通用户的身份运行这个工具,而不使用特权用户 root 但每次我试着运行这些工具 sudo 密码是问我的。过了一段时间,这变成了一场噩梦。有没有解决方案可以运行这些工具而不需要在虚拟化端输入密码和更改任何权限。对。

null

波尔基特

PolicyKit或简称Polkit是用于控制Unix和Linux操作系统中的系统范围权限的组件。fedoralinux发行版大量使用Polkit。我们将使用Polkit来验证我们自己,并在没有密码的情况下启动virt管理器。

为虚拟化创建组

为了运行虚拟化服务和软件,我们需要一个有权访问相关系统资源的组。大多数操作系统都将此组创建为 libvirt . 如果不是,则使用以下命令创建组。但请记住,这需要根权限。

$ groupadd libvirt

将用户放入虚拟化组

现在我们需要将普通用户或当前用户加入虚拟化组。如前一步所述,组名为 libvirt 但如果不同,请相应更改。在这个命令中,我们添加了名为 libvirt 给用户john

$ sudo usermod -a -G libvirt john

创建Polkit规则

我们将使用创建polkit规则 libvirt 组。创建如下文件

/etc/polkit-1/rules.d/80-libvirt.rules

并将以下内容放入文件。这条规则会给你 libvirt 组用户无需密码即可访问虚拟化功能。

polkit.addRule(function(action, subject) { if (action.id == "org.libvirt.unix.manage" && subject.local && subject.active && subject.isInGroup("libvirt")) { return polkit.Result.YES; }});

相关文章: Base64和默认密码项目

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享