Как узнать, какую программу использует программа?
Итак, у меня есть одна программа, которая всегда запрашивает пароль при запуске. И я хочу запустить это программное обеспечение без этого 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