Как видеть, какой pkaction программное обеспечение использует

Так, у меня есть одно программное обеспечение, которое всегда просит пароль при запуске. И я хочу запустить это программное обеспечение без этого gksu подсказка пароля, открывающаяся каждый раз.

Первая вещь, которую я попробовал, добавляла свой путь к sudoers. Однако это не работало. Позже я узнал, что существует вещь, названная policykit, и если некоторая программа захочет использовать некоторые policykit действия, то это всегда будет пользователь подсказок для пароля (sudoers, не имеют никакого эффекта на него).

Я следовал руководству в том, Как я препятствую тому, чтобы PolicyKit просил пароль?, но это все еще не работает, таким образом, я думаю, что, возможно, добавил неправильное действие.

Вопрос: Как я вижу что pkaction моя программа использует так, я могу ввести ее в свой .pkla файл?

4
задан 13 April 2017 в 15:24

2 ответа

Это казалось бы парадоксальным для обхода безопасности policykit авторизации. В отсутствие дальнейших деталей мой лучший совет, не делают этого.

Как бы то ни было,

Механизм должен объявить ряд действий для использования polkit. Действия соответствуют операциям, которые клиенты могут запросить механизм выполнить и определяются в файлах, которые механизм устанавливает в/usr/share/polkit-1/actions каталог.

pkaction --verbose

произведет подробный результат относительно всех policykit действий. Это будет полезно при рассмотрении локальных файлов конфигурации. Можно перенаправить этот вывод к текстовому файлу для более позднего обзора обычным способом >later.review.txt

Эти файлы конфигурации найдены в каталогах, перечисленных при выдаче команды sudo ls /var/lib/polkit-1/localauthority/

10-vendor.d  20-org.d  30-site.d  50-local.d  90-mandatory.d

выройте вокруг и найдите .pkla файл, который соответствует Вашему неопознанному программному обеспечению. Отсутствующий любая полезная информация я притворюсь, что это - Зазывала Единицы, например. Мы можем рассмотреть строки, которые начинаются Action= с командой sudo grep "Action=" /var/lib/polkit-1/localauthority/10-vendor.d/unity-greeter.pkla Который приводит к

Action=org.freedesktop.NetworkManager.enable-disable-network;org.freedesktop.NetworkManager.enable-disable-wifi;org.freedesktop.NetworkManager.enable-disable-wwan;org.freedesktop.NetworkManager.enable-disable-wimax;
Action=org.freedesktop.NetworkManager.sleep-wake
Action=org.freedesktop.NetworkManager.wifi.share.protected;org.freedesktop.NetworkManager.wifi.share.open
Action=org.freedesktop.NetworkManager.settings.modify.own;org.freedesktop.NetworkManager.settings.modify.system;org.freedesktop.NetworkManager.settings.modify.hostname
Action=org.freedesktop.NetworkManager.use-user-connections
Action=org.freedesktop.NetworkManager.network-control

Для получения дополнительной информации последний polkit справочник может быть найден здесь, и сопутствующая информация на systemd может быть найдена здесь

Поскольку @muru указывает, что существует также связанные Вопросы и ответы здесь

Источники:

https://www.freedesktop.org/software/polkit/docs/latest/polkit.8.html

Как я препятствую тому, чтобы PolicyKit просил пароль?

1
ответ дан 1 December 2019 в 10:01

Попросите, чтобы Ubuntu имела этот ответ (Как настроить pkexec для не просьбы пароль?), который ближе к тому, в чем Вы нуждаетесь, чем ссылка, которую Вы нашли ранее.

Как быстрый пример к нахождению применения, я проиллюстрирую использование моего собственного сценария. Я хотел заменить gksu который удерживается от использования с pkexec таким образом, я записал сценарий обертки, названный gsu.

Я вызываю gsu из командной строки с:

gsu pkexec

Заметьте стрелку выпадающего списка Деталей. Нажмите его, и это показано:

gsu pkexec details

В моем примере pkla управляет org.gnome.gedit. Я буду использовать это в следующем примере, который Вы заменили бы своим собственным:

gsu pexec authorities

Если бы Вы хотите работать без подсказки пароля, Вы установили бы следующее:

  <allow_any>yes</allow_any>
  <allow_inactive>yes</allow_inactive>
  <allow_active>yes</allow_active>

На личном сообщении я неоднократно не люблю вводить пароль сам, но не изменюсь gedit никогда не просить пароль при изменении корневого использования файлов pkexec. Однако я хотел бы его к не, неоднократно просят пароль при выполнении его много раз на данной сессии. Можно сделать это с sudo и можно расширить период с 10 минут до 120 минут, поскольку я сделал в своей системе. Я хотел бы схожую функциональность за наборы политики.

2
ответ дан 1 December 2019 в 10:01

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

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