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