我已经使用KVM很久了,每次我尝试将virt-manager用作非root用户时,都必须输入sudo密码。如果大多数时候都使用virt-manager,这可能非常的烦人。我将向您展示一个简单的方法,将virt-manager用作非root用户,只需创建一个libvirt组并向其中添加一个标准用户帐户即可。安装KVM可参考在Arch Linux/Manjaro上安装KVM、QEMU和Virt Manager的方法。
要将virt-manager用作非root用户,请执行以下步骤
步骤1:创建要使用的组
首先检查组是否已经存在,如果不存在则创建它
sudo getent group | grep libvirt
一些发行版可能正在使用libvirtd:
sudo getent group | grep libvirtd
如果不存在,请将其添加为系统组:
sudo groupadd --system libvirt
步骤2:将用户帐户添加到libvirt组
现在该组可用,将您的用户帐户添加到该组:
sudo usermod -a -G libvirt $(whoami)
newgrp libvirt
验证该用户已添加到libvirt组:
$ id $(whoami)
uid=1000(jmutai) gid=1000(jmutai) groups=1000(jmutai),998(wheel),992(kvm),988(storage),968(libvirt),108(vboxusers)
步骤3:编辑libvirtd配置文件以添加组
打开文件/etc/libvirt/libvirtd.conf进行编辑:
sudo vim /etc/libvirt/libvirtd.conf
将UNIX域套接字组所有权设置为libvirt(在第85行附近):
unix_sock_group = "libvirt"
设置R/W套接字的UNIX套接字权限(在第102行附近):
unix_sock_rw_perms = "0770"
进行更改后,重新启动libvirt守护程序:
sudo systemctl restart libvirtd.service
检查服务状态:
$ systemctl status libvirtd.service
会看到已加载/usr/lib/systemd/system/libvirtd.service、Active: active (running)等信息。
步骤4:启动virt-manager
从命令行或开始菜单中启动Virtual Machine Manager:
$ virt-manager
您应该能够创建VM,而不会出现权限错误:
这时您应该能够以非root用户身份使用virt-manager。
注意事项
需要安装KVM虚拟化软件包组才能获得包括virt-manager在内的工具。
同时如果不能以非root用户身份使用virt-manager,请尝试阅读您的libvirtd.conf文件以查看要修改的相关部分。
相关主题