Как я могу настроить Центр программного обеспечения так, чтобы пользователи без полномочий root могли устанавливать вещи из репозиториев Ubuntu без необходимости вводить свой пароль?
Я полностью осведомлен о последствиях для безопасности и готов пойти на риск. Fedora 12 поставляется с чем-то вроде этого. (Я полагаю, что изменив конфигурацию PolicyKit)
Ответы:
Вы можете изменить разрешения PolicyKit, чтобы пользователи могли получать доступ к бэкенду aptdaemon, который использует Software Center.
dpkg --listfiles aptdaemon
показывает, что/usr/share/polkit-1/actions/org.debian.apt.policy
это файл, указывающий возможные действия на серверную часть aptdaemon.Глядя в этот файл,
< action id="">
теги определяют возможные действия. Возможно, вы захотитеorg.debian.apt.install-packages
разрешить пользователям устанавливать новые пакеты из архива иorg.debian.apt.update-cache
разрешать пользователям обновлять списки пакетов.Посмотрите,
man pklocalauthority
какие документы, как установить локальные разрешения для действий PolicyKit. Включение следующего/etc/polkit-1/localauthority/50-local.d/10-allow-users-to-install.pkla
позволит любому пользователю, вошедшему на локальный компьютер, устанавливать пакеты после ввода собственного пароля (даже если они не входят в группу администраторов) и обновлять кэш пакетов без ввода пароля.источник
/usr/share/polkit-1/actions/org.kubuntu.qaptworker.policy
Identity=*
чтобы заставить это работать, адаптированный от askubuntu.com/a/123260 . Кроме того, есть ли способ получить больше выходных данных журнала набора политики, например/var/log/auth.log
(или любых других файлов журнала)? Я только получаюauthentication fails
сообщения, но без причины, почему это не удалось ...Я не думаю, что в настоящее время это возможно сделать через графический интерфейс, но следующее должно работать, хотя и немного глупо. YMMV.
Добавьте следующую строку в / etc / sudoers (используйте
sudo visudo
для редактирования файла):Тогда вам просто нужно создать и добавить конкретных пользователей в
packageinstallers
группу:Теперь
jdoe
можно сделать следующее:и вы можете отредактировать пункт меню рабочего стола для Центра программного обеспечения так, чтобы он вызывал
software-center
добавление команды с помощьюgksudo
.PolicyKit может позволить вам сделать это без sudo, но на данный момент это за пределами моего понимания.
источник
Ответ RAOF относится только к Ubuntu. Kubuntu использует QAptWorker в качестве бэкэнда (наблюдается для Natty и Oneiric). Чтобы разрешить установку без полномочий root, создайте,
/etc/polkit-1/localauthority/50-local.d/10-allow-non-root-install-packages.pkla
содержащий:Я хотел позволить некоторым пользователям без прав администратора устанавливать программное обеспечение, не предоставляя права доступа sudo напрямую. Это было достигнуто путем вставки следующих строк в обе группы конфигурации:
Если есть группа, которой необходимо предоставить разрешение, используйте
unix-group
вместоunix-user
.источник
sudo -i
у меня даже нет доступа к/etc/polkit-1/localauthority
(Ubuntu 17.10): « Я не буду пытаться обработать каталог / etc / polkit-1 / localauthority»Если вам нужно только общее разрешение, чтобы разрешить / запретить установку пакета, перейдите к PolicyKit.
К сожалению, PolicyKit не имеет точного контроля над пакетом для установки. Если вы хотите дать своим пользователям разрешение на установку только ограниченного набора приложений, вам следует использовать
sudo
и устанавливать что-то вроде программных каналов ...Я также искал что-то подобное, но так как я ничего не нашел, я кодировал это простое решение "каналы программного обеспечения", доступное здесь, на GitHub
Это очень простая система, позволяющая обычным (не администраторам) пользователям устанавливать пакеты из ограниченных каталогов.
Просто определите «каналы» (группы пакетов) в простом текстовом файле и дайте своим пользователям разрешения на запуск программных каналов.
Они будут видеть пакеты только в каналах, соответствующих их группам Unix.
источник