Как я могу запретить virt-manager запрашивать пароль root?

При запуске virt-manager запрашивает пароль пользователя root.

Похоже, что virt-manager заставляет демон libvirtd запустить pkcheck с несколькими аргументами, которые затем показывают это диалоговое окно аутентификации. Так что это PolicyKit, который просит пароль root.

Официальный сайт (libvirt.org) описывает, как определить правило PolicyKit, чтобы избавиться от запроса пароля:

$ sudo cat /etc/polkit-1/localauthority/50-local.d/50-org.example-libvirt-remote-access.pkla
[libvirt Management Access]
Identity=unix-group:libvirt
Action=org.libvirt.unix.manage
ResultAny=yes
ResultInactive=yes
ResultActive=yes

Подкаталог "localauthority" не существует. Создание и размещение файла с таким именем и содержимым (libvirt -> my group name) там, похоже, не имеет никакого эффекта. Также есть файл по умолчанию, который использует синтаксис JavaScript:

/etc/polkit-1/rules.d/50-default.rules

Этот пакет установлен в системе, плюс несколько интерфейсов DE:

polkit-0.107-4.fc18.x86_64

Видимо пример конфигурации на libvirt.org устарел?

Какая конфигурация необходима, чтобы избавиться от запроса пароля (для определенной группы пользователей)?

4 ответа

Решение

/etc/polkit-1/rules.d/10.virt.rules:

polkit.addRule(function(action, subject) {
    if (action.id == "org.libvirt.unix.manage"
            && subject.local
            && subject.active
            && subject.isInGroup("libvirt")) {
        return polkit.Result.YES;
    }
});

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

Похоже, что ресурс посвящен Fedora 18, но в нем уже используется синтаксис javascript, поэтому он, скорее всего, подходит и для Fedora 19.

Ссылки:

Я обнаружил, что просто добавив моего пользователя в libvirt и kvm группы прекратили подсказки.

sudo usermod -a -G libvirt yourusername
sudo usermod -a -G kvm yourusername

Запрос пароля был сделан для безопасности системы, поэтому, если вы сделаете это, это может сделать его уязвимым.

  1. Создайте группу на своем компьютере. или вы можете запустить эту "sudo groupadd -r Group "

  2. Вы можете добавить любого пользователя в эту системную группу, выполнив "sudo usermod -a -G Group User "

  3. Теперь вам нужно создать нашу политику PolicyKit, которая позволит пользователям Group запускать virt-manager.

вы создадите файл по этому пути: "/ etc / polkit-1 / localauthority / 50-local.d / 50-org. Group -libvirt-local-access.pkla"
и вы поместите строки ниже в нем

[Разрешить группе Group разрешения на управление libvirt]
Идентичность =unix-группа: группа
Действие = org.libvirt.unix.manage
ResultAny = да
ResultInactive= да
ResultActive= да

Это все, что вам нужно было сделать, теперь вы можете запустить его. И я надеюсь, что это поможет вам.

Я бы на самом деле использовал

      sudo usermod -a -G libvirt $(whoami)
sudo usermod -a -G kvm $(whoami)

Таким образом, простое копирование будет работать напрямую, посколькуwhoamiвыводит ваше имя пользователя

Другие вопросы по тегам