Как использовать virt-manager как пользователь без полномочий root в Linux

Как использовать virt-manager как пользователь без полномочий root в Linux

 

Всем привет. KVM пользуюсь уже давно. Каждый раз, когда я пытаюсь использовать virt-manager как пользователь без полномочий root, мне приходится вводить пароль sudo. Это не проблема, но если вы часто используете virt-manager, это может быть скучно и раздражать.

Я покажу вам простой способ использования virt-manager в качестве пользователя без полномочий root, просто создав группу libvirt и добавив к ней стандартную учетную запись пользователя. Не теряя много времени, приступим.

Чтобы использовать virt-manager как пользователь без полномочий root, выполните следующие действия:

Шаг 1 — Создайте группу unix для использования

Сначала проверьте, существует ли уже группа, если не создайте ее

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"

Установите разрешения сокета UNIX для сокета R / W (около строки  102 )

unix_sock_rw_perms = "0770"

После внесения изменений перезапустите демон libvirt.

sudo systemctl restart libvirtd.service

Проверить статус службы.

$ systemctl status libvirtd.service    
 ● libvirtd.service - Virtualization daemon
    Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled; vendor preset: disabled)
    Active: active (running) since Fri 2019-04-19 08:48:13 EAT; 1h 16min ago
      Docs: man:libvirtd(8)
            https://libvirt.org
  Main PID: 31709 (libvirtd)
     Tasks: 26 (limit: 32768)
    Memory: 64.7M
    CGroup: /system.slice/libvirtd.service
            ├─  754 /usr/bin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/lib/libvirt/libvirt_leases>
            ├─  755 /usr/bin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/lib/libvirt/libvirt_leases>
            ├─  777 /usr/bin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/docker-machines.conf --leasefile-ro --dhcp-script=/usr/lib/libvirt/libvir>
            ├─  778 /usr/bin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/docker-machines.conf --leasefile-ro --dhcp-script=/usr/lib/libvirt/libvir>
            ├─25924 /usr/bin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/vagrant-libvirt.conf --leasefile-ro --dhcp-script=/usr/lib/libvirt/libvir>
            ├─25925 /usr/bin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/vagrant-libvirt.conf --leasefile-ro --dhcp-script=/usr/lib/libvirt/libvir>
            ├─25959 /usr/bin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/fed290.conf --leasefile-ro --dhcp-script=/usr/lib/libvirt/libvirt_leasesh>
            ├─25960 /usr/bin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/fed290.conf --leasefile-ro --dhcp-script=/usr/lib/libvirt/libvirt_leasesh>
            └─31709 /usr/bin/libvirtd

Шаг 4 — Запустите virt-manager

Запустите Virtual Machine Manager из командной строки или из меню «Пуск».

$ virt-manager

Вы должны иметь возможность создать виртуальную машину без получения ошибки разрешения.

Вы должны иметь возможность использовать virt-manager как пользователь без полномочий root. Если нет, попробуйте прочитать файл  libvirtd.conf, чтобы увидеть соответствующие разделы, которые нужно изменить.

Вывод

Мы рассмотрели, как использовать virt-manager как пользователь без полномочий root, выполнив простые шаги. Возможно, вам придется установить группу пакетов виртуализации KVM, чтобы получить инструменты, включая virt-manager.