Версии пакетов с ошибкой: Сизиф: polkit-124-alt3 freeipa-client-4.11.2-alt1 freeipa-server-4.11.2-alt1 P11: polkit-124-alt1 freeipa-client-4.11.1-alt3 freeipa-server-4.11.1-alt3 Стенды с ошибкой: В качестве клиентов FreeIPA: workstation-10.2-x86-64, обновлённый до Сизиф kworkstation-10.3-x86-64, обновлённый до Сизиф В качестве домена и реплики: server-10.2-x86-64, обновлённый до Сизиф Шаги для воспроизведения ошибки: 1. Развернуть контроллер домена FreeIPA и реплику, ввести в домен машину-клиент. 2. Войти в Web-интерфейс FreeIPA и выполнить следующие настройки: 1) Идентификация -> Группы -> Добавить новую группу wheel. В поле ID группы установить значение 10. 2) Политика -> Sudo -> Команды Sudo -> Добавить -> В поле Команда Sudo ввести /usr/bin/gparted 3) Политика -> Sudo -> Правила Sudo -> Добавить 2 правила sudo с именами sudo all и sudo_admins 4) Политика -> Sudo -> Правила Sudo -> sudo all: - В разделе Параметры ввести !authenticate - В разделе Кто ввести в Группы пользователей добавить группы admins и wheel - В разделе Получить доступ к узлу установить чек-бокс Любой узел - В разделе Выполнить команды ввести в Разрешенные команды Sudo добавить команду /usr/bin/gparted - В разделе В качестве установить чек-боксы Любой и Любая группа 5) Политика -> Sudo -> Правила Sudo -> sudo_admins: - В разделе Параметры ввести !authenticate - В разделе Кто ввести в Группы пользователей добавить группы admins и wheel - В разделе Получить доступ к узлу установить чек-бокс Любой узел - В разделе Выполнить команды установить чек-бокс Любая команда - В разделе В качестве установить чек-боксы Любой и Любая группа 6) Идентификация -> Пользователи -> добавить 2-х пользователей: test-admin1 и test-admin2, назначить им группы admins и wheel 3. На клиентской машине создать следующее правило для polkit в файле /etc/polkit-1/rules.d/10-wheel.rules: polkit.addAdminRule(function(action, subject) { return ["unix-group:wheel"]; }); Добавить пользователя test-admin1 в локальную группу wheel: # sed -i 's/10:root/10:root,test-admin1/' /etc/group Установить пакет gparted для проверки работы polkit, и перезапустить систему. # apt-get install -y gparted && reboot 4. Авторизоваться на клиенте доменным пользователем test-admin1, попытаться от его имени запустить GParted, используя пароль test-admin1. 5. Авторизоваться на клиенте доменным пользователем test-admin2, попытаться от его имени запустить GParted, используя пароль test-admin2. Ожидаемое поведение: в окне авторизации будет предложено авторизоваться при помощи пароля пользователя test-admin2. Реальное поведение: в окне авторизации предлагается авторизоваться при помощи пароля пользователя, который состоит в группе wheel локально на данной машине (test-admin1, либо пользователь, создаваемый при установке системы). Примечание: такое поведение наблюдается на системах, обновлённых до Сизиф или P11. На P10 в данной ситуации позволяется авторизоваться доменным пользователем без прописывания его в локальную группу wheel в файле /etc/group на клиенте. На P11/Сизиф авторизоваться с повышением привилегий от имени доменного пользователя можно лишь прописав его локально на данной машине в группу wheel. Однако, если в правиле polkit указать группу admins из домена FreeIPA, например: $ cat /etc/polkit-1/rules.d/10-wheel.rules: polkit.addAdminRule(function(action, subject) { return ["unix-group:admins"]; }); то в таком случае, polkit корректно предлагает доменным пользователем, входящим в эту группу, авторизоваться для повышения привилегий по своему паролю. Проблема наблюдается только с группой wheel, настроенной в домене, чего не наблюдается на P10. $ id uid=60006(test-admin1) gid=60006(test-admin1) группы=60006(test-admin1),10(wheel),60001(admins)
Вместо создания /etc/polkit-1/rules.d/10-wheel.rules устанавливайте пакет polkit-default-rules