У меня есть гипервизор, на котором запущена libvirt в системе Ubuntu 18.04. Мне нужно настроить доступ так, чтобы пользователь joe мог управлять только одним доменом.
Недавно policykit переместился из файлов конфигурации .pksa в .rules. Однако Ubuntu 18.04 поставляется со старой версией Policykit:
# pkaction --version
pkaction version 0.105
Все Соответствующий Примеры включать только файлы .rules; в документации также говорится:
Если вы используете версии polkit до 0.106, то можно только проверять пары (пользователь, разрешение) через файлы .pkla. Для полной проверки тройки (пользователь, разрешение, объект) требуется новая поддержка JavaScript .rules, которая была представлена в версии 0.106. О последнем и будет рассказано здесь.
Когда я смотрю на только пример .pksa, Я вижу такие вещи, как:
[Allow fred libvirt management permissions]
Identity=unix-user:fred
Action=org.libvirt.unix.manage
ResultAny=yes
ResultInactive=yes
ResultActive=yes
Что слишком универсально. Правильно ли я считаю, что в Ubuntu 18.04 невозможно ограничить доступ пользователей к одному домену через Policykit?
Если это так, есть ли альтернатива?
Примечание: похожий вопрос без ответа: https://unix.stackexchange.com/questions/367731/libvirt-debian-restrict-user-domain-access
policykit 0.105 - это старая версия 2012 года, в которой отсутствует гибкий механизм правил javascript. К сожалению, по неизвестным мне причинам Debian и Ubuntu с тех пор отказываются следить за выпусками апстрима. Поэтому, если вам нужна гибкая система контроля доступа, вам нужно переключиться на другой дистрибутив, в котором есть современный polkit.