В течение многих лет в моем досье хранилась следующая информация sudoers
:
scott ALL=NOPASSWD: ALL
Для тех, кто не знает, это предотвращает sudo
и друзей ( gksudo
и т. д.) от запроса пароля. Однако с годами все больше и больше вещей, которые когда-то использовались, sudo
были переведены на использование PolicyKit.
Я ищу эквивалентную конфигурацию для PolicyKit, чтобы он никогда не запрашивал мой пароль.
Для тех, кому не нравится моя просьба, скажу следующее: я понимаю причины конфигурации по умолчанию, и они обоснованы. Я также понимаю риски, присущие конфигурации, которую я хочу сделать. Тем не менее, это способ, которым я хочу настроить свою систему.Тем, кто не до конца понимает вышесказанное, не стоит пытаться повторить то, что пытаюсь сделать я.
решение1
Ты можешьиспользуйте ту же технику, что и Live CD Ubuntuобманув PolicyKit и подавив ВСЕ запросы на ввод пароля, заменив действие на подстановочный знак.
ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Следующее отключит ВСЕ запросы на ввод пароля глобально для всех, кто принадлежит к группе администраторов, за исключением экрана входа в систему. Это КРАЙНЕ опасно и НИКОГДА не должно быть реализовано, потому что есть вероятность, что ВЫ В КОНЕЧНОМ СЛОЖИТЕ СВОЮ СИСТЕМУ!!
Не говорите, что вас не предупреждали!
ПРИМЕЧАНИЕ: Если вы используете версию 12.04 или более позднюю, замените «admin» на «sudo»!
Замените «имя пользователя» на свое фактическое имя пользователя:
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. Вы можете назвать его как угодно.
И последнее: это ЕДИНСТВЕННАЯ политика, которая вам понадобится, когда дело доходит до подавления запросов на ввод пароля, поскольку она, опять же, действует глобально.
решение2
Вы можете создать .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
Также обратите внимание, что действия можно объединять в разделы, без пробелов, используйте ; между идентификаторами.