Как я могу запретить PolicyKit запрашивать пароль?

В течение многих лет в моем файле sudoers было следующее:

scott   ALL=NOPASSWD: ALL

Для тех, кто не знает, это мешает sudo и друзьям (gksudo и т. Д.). ) от запроса пароля. Однако с течением времени все больше и больше вещей, которые когда-то использовались sudo, переключались на использование PolicyKit.

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

Для тех, кому не нравится мой запрос, позвольте мне сказать следующее: я понимаю причины конфигурации по умолчанию, и они обоснованы. Я также понимаю риски, присущие конфигурации, которую я хочу сделать. Тем не менее, так я хочу настроить свою систему. Те, кто не полностью понимает вышесказанное, не должны пытаться делать то, что я пытаюсь.

24
задан 7 September 2012 в 03:49

3 ответа

Это на самом деле не совсем так. Вы можете обмануть PolicyKit и подавить ВСЕ запросы пароля, подставив действие с подстановочным знаком.

ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Следующее будет подавлять ВСЕ запросы пароля глобально для всех, принадлежащих к группе администраторов, за исключением экрана входа в систему. Это ЧРЕЗВЫЧАЙНО опасно и НИКОГДА не должно быть реализовано, потому что есть вероятность, что ВЫ ЗАВЕРШИТЕ, ЧТОБЫ РАБОТАЕТ ВАША СИСТЕМА !!

Не говорите, что вас не предупреждали!

ПРИМЕЧАНИЕ. Если вы работаете 12.04 или более поздней версии, замените «admin» на «sudo»!

Замените «username» на ваше фактическое имя пользователя:

usermod -aG admin username

Переключитесь на root:

sudo -i

Создайте новую политику:

gedit /var/lib/polkit-1/localauthority/50-local.d/disable-passwords.pkla

Добавьте следующее:

[Do anything you want]
Identity=unix-group:admin
Action=*
ResultActive=yes

Сохраните, выйдите и перезагрузите компьютер. Затем попробуйте что-нибудь, что обычно требует пароля. :)

ПРИМЕЧАНИЕ. Неважно, что вы используете в качестве имени файла .pkla. Вы можете назвать это как угодно. НО, Неважно, что вы используете законную политику. Вот почему я пошел с «Установить файл пакета». Вам не обязательно соглашаться с тем, что я сделал, если только это в списке политик, который распознает Ubuntu.

И, наконец, это ЕДИНСТВЕННАЯ политика, которая вам понадобится, когда дело доходит до подавления запросов пароля, потому что, опять же, это происходит глобально.

0
ответ дан 7 September 2012 в 03:49

Вы можете создать .pkla, либо все в одном, либо пару на основе групп действий, на самом деле не имеет значения.

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

Что касается .pkla или 2, то я считаю, что лучшее место для их размещения здесь, оно будет защищено от любых обновлений

/var/lib/polkit-1/localauthority/50-local.d

Так, например, вот мой основной, названный package- manager.pkla, хотя и расширяется немного дальше, чем просто политика управления пакетами

[Install package file]
Identity=unix-group:admin
Action=org.debian.apt.install-file;org.debian.apt.update-cache;org.debian.apt.install-or-remove-packages;org.debian.apt.upgrade-packages
ResultActive=yes

[Install package synaptic]
Identity=unix-group:admin
Action=com.ubuntu.pkexec.synaptic
ResultActive=yes

[Change add repo]
Identity=unix-group:admin
Action=com.ubuntu.softwareproperties.applychanges;org.debian.apt.change-repository
ResultActive=yes

[usbcreator format]
Identity=unix-group:admin
Action=com.ubuntu.usbcreator.format
ResultActive=yes

[Install bootloader]
Identity=unix-group:admin
Action=com.ubuntu.usbcreator.bootloader
ResultActive=yes

[Add users]
Identity=unix-group:admin
Action=org.freedesktop.accounts.user-administration
ResultActive=yes

Обратите внимание, что начиная с 12.04 группу, используемую для пользователя «admin», следует изменить на sudo, т.е.

Identity=unix-group:sudo

Также обратите внимание, что действия могут быть связаны друг с другом по разделу, без пробелов, используйте a; между идентификаторами

0
ответ дан 7 September 2012 в 03:49

Один из вариантов, если вы знаете, что делаете, - это полностью отключить комплект политики.

sudo apt-get remove libpolkit-agent-1-0

0
ответ дан 7 September 2012 в 03:49

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

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