Можно ли разрешить пользователям без полномочий root устанавливать пакеты для всей системы, используя apt или rpm?
Место, где я работаю, в настоящее время имеет устаревшие настройки на компьютерах Linux, и администраторы устали от необходимости выполнять все установки для пользователей по запросу, поэтому они думают о предоставлении полных прав sudo всем пользователям. Это имеет очевидные недостатки безопасности. Поэтому мне интересно, есть ли способ разрешить обычным пользователям устанавливать программное обеспечение - а также обновлять и удалять его?
linux
package-management
sudo
software-installation
naught101
источник
источник
apt-secure(8)
говорит: «apt-get в настоящее время только предупреждает о неподписанных архивах, будущие выпуски могут заставить все источники проверяться перед загрузкой пакетов из них». В зависимости от того, насколько сложна атака, может быть возможно захватить соединение с источником хранилища и внедрить ненадежный пакет. Тем не менее, прочитайте эту справочную страницу для более подробной информации. У вас может быть достаточно безопасное решение для вашей модели потока.Ответы:
Вы можете указать разрешенные команды с помощью sudo, вам не нужно разрешать неограниченный доступ, например
Это позволило бы имени пользователя для запуска
sudo apt-get
иsudo aptitude
без пароля , но не допустит какие - либо другие команды.Вы также можете использовать packagekit в сочетании с PolicyKit для более тонкого контроля, чем sudo.
Разрешение пользователям устанавливать / удалять пакеты может быть опасным. Они могут довольно легко вывести систему из строя, просто удалив необходимое программное обеспечение, такое как libc6, dpkg, rpm и т. Д. Установка произвольного программного обеспечения из определенных архивов может позволить злоумышленникам установить устаревшее или эксплуатируемое программное обеспечение и получить права root. Главный вопрос на мой взгляд, насколько вы доверяете своим сотрудникам?
Конечно, ваша команда администраторов может также начать использовать систему управления конфигурацией, такую как puppet, chef или изучить открытый космос для управления вашей системой. Это позволило бы им конфигурировать и управлять системой из центральной системы.
источник
aptdcon
Из справочных страниц:
источник
ERROR: You are not allowed to perform this action. ('system-bus-name', {'name': ':1.716'}): org.debian.apt.install-or-remove-packages
источник
Я также искал что-то подобное, но ничего не появилось, поэтому я написал это простое решение: «каналы программного обеспечения»:
https://github.com/alfem/softwarechannels
Это очень простая система, позволяющая обычным пользователям (без прав администратора) устанавливать пакеты из ограниченных каталогов.
Просто определите «каналы» (группы пакетов) в простом текстовом файле и дайте своим пользователям разрешения на запуск программных каналов.
Они будут видеть пакеты только в каналах, соответствующих их группам Unix.
источник