Я хочу понизить в должности пользователя с правами администратора обычному пользователю.
Но я хочу позволить ей продолжить делать обновления как прежде через GUI. Явно, позвольте обновлениям происходить при выяснении сделать так через обновление notifier диалоговое окно.
Я не знаю, возможно ли, и если да, какие правила sudo должны, я использую так, чтобы тот пользователь мог сделать обновления.
Я только знаком с apt
команда. Какая команда/программное обеспечение используются, чтобы получить уведомление об обновлениях и затем выполнить процесс обновления?
Это слишком сложно и требует административных привилегий, в конце концов?
GUI использует Polkit для аутентификации и авторизации. Соответствующие действия Polkit, кажется, для Кв.:
org.debian.apt.cancel-foreign
org.debian.apt.change-config
org.debian.apt.change-repository
org.debian.apt.clean
org.debian.apt.get-trusted-vendor-keys
org.debian.apt.install-file
org.debian.apt.install-or-remove-packages
org.debian.apt.install-packages-from-new-repo
org.debian.apt.install-packages.high-trust-repo
org.debian.apt.install-purchased-packages
org.debian.apt.set-proxy
org.debian.apt.update-cache
org.debian.apt.upgrade-packages
Возможно, Вам, возможно, понадобилось бы следующее также для снимков:
io.snapcraft.login
io.snapcraft.snapd.login
io.snapcraft.snapd.manage
io.snapcraft.snapd.manage-interfaces
Кроме того, программное обеспечение Ubuntu делает различные действия через PackageKit, таким образом, действия для тех также:
org.freedesktop.packagekit.cancel-foreign
org.freedesktop.packagekit.clear-offline-update
org.freedesktop.packagekit.device-rebind
org.freedesktop.packagekit.package-downgrade
org.freedesktop.packagekit.package-eula-accept
org.freedesktop.packagekit.package-install
org.freedesktop.packagekit.package-install-untrusted
org.freedesktop.packagekit.package-reinstall
org.freedesktop.packagekit.package-remove
org.freedesktop.packagekit.repair-system
org.freedesktop.packagekit.system-network-proxy-configure
org.freedesktop.packagekit.system-sources-configure
org.freedesktop.packagekit.system-sources-refresh
org.freedesktop.packagekit.system-trust-signing-key
org.freedesktop.packagekit.system-update
org.freedesktop.packagekit.trigger-offline-update
org.freedesktop.packagekit.trigger-offline-upgrade
org.freedesktop.packagekit.upgrade-system
И для менеджера обновления:
com.ubuntu.update-notifier.pkexec.cddistupgrader
com.ubuntu.update-notifier.pkexec.package-system-locked
И для синаптического:
com.ubuntu.pkexec.synaptic
Для конфигурирования полномочий Polkit создайте a .pkla
файл в /etc/polkit-1/localauthority/50-local.d
названный, скажем, allow-pkg-mgmt.pkla
, содержа:
[Allow Package Management to user foo]
Identity=unix-user:foo
Action=org.debian.apt.*;io.snapcraft.*;org.freedesktop.packagekit.*;com.ubuntu.update-notifier.*
ResultActive=auth_self
Посмотрите man 8 pklocalauthority
для больше при конфигурировании полномочий Polkit и вывода pkaction
для большего количества действий. По некоторым причинам я должен был использовать ResultActive
вместо ResultAny
прежде чем это попросило бы пароль непривилегированного пользователя.
polkit выглядит немного сложным мне.
Я добавил бы запись в/etc/sudoers, как:
ее-вход-в-систему ВСЕ = (корневой) NOPASSWORD: способный ее-вход-в-систему обновления ВСЕ = (корневой) NOPASSWORD: способное обновление (проверяют синтаксис!)
И затем создайте значок, который запускает 'sudo способное обновление && sudo способное обновление'
Это позволяет 'ее-входу-в-систему' выполнять всего 2 команды как корень... То же могло быть сделано сделанное для, сказать sudo mintupdate, если больше 'GUI' approch требуется.