16

При запуске 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 устарел?

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

2 ответа2

14

/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.

Ссылки:

1

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

  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.Группа -libvirt-local-access.pkla "
и вы поместите строки ниже в нем

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .