Так, у меня есть одно программное обеспечение, которое всегда просит пароль при запуске. И я хочу запустить это программное обеспечение без этого gksu
подсказка пароля, открывающаяся каждый раз.
Первая вещь, которую я попробовал, добавляла свой путь к sudoers. Однако это не работало. Позже я узнал, что существует вещь, названная policykit, и если некоторая программа захочет использовать некоторые policykit действия, то это всегда будет пользователь подсказок для пароля (sudoers, не имеют никакого эффекта на него).
Я следовал руководству в том, Как я препятствую тому, чтобы PolicyKit просил пароль?, но это все еще не работает, таким образом, я думаю, что, возможно, добавил неправильное действие.
Вопрос: Как я вижу что pkaction
моя программа использует так, я могу ввести ее в свой .pkla файл?
Это казалось бы парадоксальным для обхода безопасности 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
Попросите, чтобы 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 минут, поскольку я сделал в своей системе. Я хотел бы схожую функциональность за наборы политики.