云网牛站
所在位置:首页 > Linux教程 > 在Linux上以virt-manager作为非root用户使用

在Linux上以virt-manager作为非root用户使用

2020-03-25 10:04:59作者:李哲稿源:云网牛站

我已经使用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,而不会出现权限错误:

在Linux上以virt-manager作为非root用户使用

这时您应该能够以非root用户身份使用virt-manager。

 

注意事项

需要安装KVM虚拟化软件包组才能获得包括virt-manager在内的工具。

同时如果不能以非root用户身份使用virt-manager,请尝试阅读您的libvirtd.conf文件以查看要修改的相关部分。

 

相关主题

使用virt-manager运行虚拟机的方法(创建第一个虚拟机)

精选文章
热门文章