Как разрешить Polkit запрашивать пароль root вместо пароля пользователя

Я ищу какое-то решение в старом стиле: мне нужно заставить всю платформу с повышенными привилегиями на машине Ubuntu запрашивать пароль целевого пользователя / root вместо запроса пароля пользователя.

Мне удалось установить целевую настройку пользователя для sudo, тем не менее, приложения, использующие Polkit для расширенных привилегий, по умолчанию запрашивают пароль пользователя.

Я видел, как несколько пользователей других дистрибутивов искали противоположное решение, позволяющее Polkit использовать пароль пользователя вместо пароля root, но до сих пор нет четкого ответа!

Любая помощь приветствуется!

0
задан 28 December 2019 в 00:20

1 ответ

Это поведение контролируется конфигурацией LocalAuthority PolicyKit. Из раздела АУТЕНТИФИКАЦИЯ АДМИНИСТРАТОРА документа man pklocalauthority:

 По умолчанию «аутентификация администратора» определяется как запрос
пароль root. Поскольку некоторые системы из соображений удобства использования не имеют
root и вместо этого полагаться на группу пользователей, являющихся членами
административная группа, дающая им привилегии суперпользователя, локальная
Полномочия также могут быть настроены для поддержки этого варианта использования.

Конфигурация для локального органа считывается из файлов в
Каталог /etc/polkit-1/localauthority.conf.d. Все файлы читаются в
лексиграфический порядок (с использованием локали C), что означает, что более поздние файлы могут
переопределить более ранние. Файл 50-localauthority.conf содержит
настройки, предоставляемые производителем ОС. Пользователи и сторонние пакеты могут
перетащите файлы конфигурации с приоритетом выше 60, чтобы изменить
значения по умолчанию.

По крайней мере, в моей (18.04) системе Ubuntu есть два соответствующих файла: 50-localauthority.conf и 51-ubuntu-admin.conf:

$ head /etc/polkit-1/localauthority.conf.d/*
==> /etc/polkit-1/localauthority.conf.d/50-localauthority.conf <==
# Configuration file for the PolicyKit Local Authority.
#
# DO NOT EDIT THIS FILE, it will be overwritten on update.
#
# See the pklocalauthority(8) man page for more information
# about configuring the Local Authority.
#

[Configuration]
AdminIdentities=unix-user:0

==> /etc/polkit-1/localauthority.conf.d/51-ubuntu-admin.conf <==
[Configuration]
AdminIdentities=unix-group:sudo;unix-group:admin

Итак, чтобы вернуться к умолчанию PolicyKit, который использует AdminIdentities=unix-user:0 (т.е. root) вместо значения по умолчанию Ubuntu AdminIdentities=unix-group:sudo;unix-group:admin (т.е. члены групп sudo и/или admin), достаточно либо переименовать 51-ubuntu-admin.conf так, чтобы он загружался раньше или вообще не загружался — например

sudo mv /etc/polkit-1/localauthority.conf.d/51-ubuntu-admin.conf{,.ignore}

или закомментируйте в нем запись AdminIdentities. Первый вариант, возможно, чище и удобнее в сопровождении.

3
ответ дан 4 June 2020 в 00:18

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

Похожие вопросы: