Bug 29398 - virt-manager доступен только root пользователю
Summary: virt-manager доступен только root пользователю
Status: CLOSED NOTABUG
Alias: None
Product: Branch p7
Classification: Distributions
Component: virt-manager (show other bugs)
Version: не указана
Hardware: all Linux
: P3 normal
Assignee: Andrey Cherepanov
QA Contact: qa-p7@altlinux.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-09-27 08:19 MSK by Pavel V. Sumin
Modified: 2015-06-29 17:52 MSK (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Pavel V. Sumin 2013-09-27 08:19:23 MSK
Установка с офф сайта: altlinux-7.0.1-centaurus-i586-ru-install-dvd5
virt-manager из под root запускается нормально. Даем право пользования им другому пользователю:
gpasswd -a <usename> vmusers
При попытке запуска virt-manager пользователем появляется ошибка:

\u0421\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0441 libvirt \u043d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c.

authentication failed: polkit: polkit\56retains_authorization_after_challenge=1
Authorization requires authentication but no agent is available.

Libvirt URI is: qemu:///system

Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/connection.py", line 1027, in _open_thread
    self.vmm = self._try_open()
  File "/usr/share/virt-manager/virtManager/connection.py", line 1009, in _try_open
    flags)
  File "/usr/lib/python2.7/site-packages/libvirt.py", line 102, in openAuth
    if ret is None:raise libvirtError('virConnectOpenAuth() failed')
libvirtError: authentication failed: polkit: polkit\56retains_authorization_after_challenge=1
Authorization requires authentication but no agent is available.
Comment 1 Alexey Shabalin 2015-06-08 14:03:07 MSK
Не совсем так. Это настройки доступа к libvirtd (/etc/libvirt/libvirtd.conf).
Если настроить как
unix_sock_group = "vmusers"
unix_sock_rw_perms = "0770"
и добавить простого пользователя в группу "vmusers", то пользователь сможет подключаться к qemu:///system клиентами, в том числе и virt-manager.
А по-умолчанию пытается использоваться policykit. root конечно же может подключиться всегда.
Comment 2 Pavel V. Sumin 2015-06-13 10:59:23 MSK
(В ответ на комментарий №1)
> Не совсем так. Это настройки доступа к libvirtd (/etc/libvirt/libvirtd.conf).
> Если настроить как
> unix_sock_group = "vmusers"
> unix_sock_rw_perms = "0770"
> и добавить простого пользователя в группу "vmusers", то пользователь сможет
> подключаться к qemu:///system клиентами, в том числе и virt-manager.
> А по-умолчанию пытается использоваться policykit. root конечно же может
> подключиться всегда.

Не получилось!

Соединение с libvirt не удалось.

authentication failed: polkit: libvirt:  error : cannot execute binary /usr/bin/pkcheck: No such file or directory

Libvirt URI is: qemu:///system

Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/connection.py", line 1011, in _open_thread
      self._backend.open(self._do_creds_password)
        File "/usr/share/virt-manager/virtinst/connection.py", line 156, in open
            open_flags)
              File "/usr/lib64/python2.7/site-packages/libvirt.py", line 102, in openAuth
                  if ret is None:raise libvirtError('virConnectOpenAuth() failed')

libvirtError: authentication failed: polkit: libvirt:  error : cannot execute binary /usr/bin/pkcheck: No such file or directory

pavel_v@lgater ~]$ id
uid=500(pavel_v) gid=500(pavel_v) группы=500(pavel_v),10(wheel),14(uucp),19(proc),22(cdrom),71(floppy),80(cdwriter),81(audio),83(radio),466(vmusers),469(vboxusers),470(scanner),471(xgrp),472(camera)
Comment 3 Alexey Shabalin 2015-06-19 19:07:36 MSK
(В ответ на комментарий №2)
> Не получилось!
> 
> Соединение с libvirt не удалось.
> 
> authentication failed: polkit: libvirt:  error : cannot execute binary
> /usr/bin/pkcheck: No such file or directory

Вы по прежнему пытаетесь использовать polkit для авторизации доступа, которого у вас нет.
проверьте /etc/libvirt/libvirtd.conf, должно быть:
auth_unix_ro = "none"
auth_unix_rw = "none
Comment 4 Pavel V. Sumin 2015-06-29 17:24:38 MSK
(В ответ на комментарий №3)
> (В ответ на комментарий №2)
> > Не получилось!
> > 
> > Соединение с libvirt не удалось.
> > 
> > authentication failed: polkit: libvirt:  error : cannot execute binary
> > /usr/bin/pkcheck: No such file or directory
> 
> Вы по прежнему пытаетесь использовать polkit для авторизации доступа, которого
> у вас нет.
> проверьте /etc/libvirt/libvirtd.conf, должно быть:
> auth_unix_ro = "none"
> auth_unix_rw = "none

Алексей, все заработало как надо, спасибо!
Comment 5 Alexey Shabalin 2015-06-29 17:52:42 MSK
в текущей версии в сизифе также добавлена возможность запуска без запроса пароля пользователям в группе vmusers через polkit.
т.е. при 
auth_unix_rw = "polkit" (по умолчанию, если не указано другое)
и пользователь входит в группу vmusers
пароль запрашиваться не будет.
Конечно тогда пакет polkit(нужен /usr/bin/pkcheck) должен быть установлен.