Позвольте обычному пользователю обновлять программное обеспечение через GUI и обновлять notifier

Я хочу понизить в должности пользователя с правами администратора обычному пользователю.

Но я хочу позволить ей продолжить делать обновления как прежде через GUI. Явно, позвольте обновлениям происходить при выяснении сделать так через обновление notifier диалоговое окно.

Я не знаю, возможно ли, и если да, какие правила sudo должны, я использую так, чтобы тот пользователь мог сделать обновления.

Я только знаком с apt команда. Какая команда/программное обеспечение используются, чтобы получить уведомление об обновлениях и затем выполнить процесс обновления?

Это слишком сложно и требует административных привилегий, в конце концов?

5
задан 3 November 2018 в 07:35

2 ответа

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 прежде чем это попросило бы пароль непривилегированного пользователя.

6
ответ дан 23 November 2019 в 09:11

polkit выглядит немного сложным мне.

Я добавил бы запись в/etc/sudoers, как:

ее-вход-в-систему ВСЕ = (корневой) NOPASSWORD: способный ее-вход-в-систему обновления ВСЕ = (корневой) NOPASSWORD: способное обновление (проверяют синтаксис!)

И затем создайте значок, который запускает 'sudo способное обновление && sudo способное обновление'

Это позволяет 'ее-входу-в-систему' выполнять всего 2 команды как корень... То же могло быть сделано сделанное для, сказать sudo mintupdate, если больше 'GUI' approch требуется.

0
ответ дан 23 November 2019 в 09:11

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

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