Как узнать, какую программу использует программа?

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

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

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

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

2 ответа

Спросите У Ubuntu есть ответ ( Как настроить pkexec, чтобы он не запрашивал пароль?), Который ближе к тому, что вам нужно, чем ссылка, которую вы нашли ранее.

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

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

Обратите внимание на стрелку раскрывающегося списка Подробности. Нажмите на нее, и это откроется:

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

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

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

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

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

Как бы то ни,

Механизм должен объявить набор действий, чтобы использовать 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, который соответствует вашему неопознанному программному обеспечению. В отсутствие любой полезной информации я буду притворяться, что это, например, Unity Greeter. Мы можем рассмотреть строки, которые начинаются с 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 запрашивать пароль?

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