Можно ли дать пользователю права на установку программного обеспечения, не предоставляя ему других sudo-прав?
Скажем, я должен был установить Ubuntu на компьютеры учеников в школе. Я хотел бы, чтобы они могли устанавливать программное обеспечение из центра программного обеспечения, но не делать ничего другого для системы.
По ссылке, указанной @tom выше, это, безусловно, возможно, но это плохая идея.
Существует бесчисленное множество эксплойтов, которые можно было бы выполнить с доступом к apt + dpkg, вот один из них в моей голове:
Создайте простой пакет deb
со специальным Установить скрипт, который просто добавляет конкретного пользователя в группы администраторов и / или меняет пароль root.
Установите пакет, используя sudo dpkg -i
или Software Center
.
Теперь у вас есть права доступа к системе на уровне root.
Другая возможность - пользователи, устанавливающие потенциально опасное программное обеспечение на компьютер и / или удаляющие важные вещи, например:
*libc*
(большинство программ используют много, много вызовов c) [ 1113] linux*
(Нет ядра = ничего не загружается) grub*
(Нет загрузчика = нет загрузки в ядро) *
Мой любимый - [ 119] ОЧИСТИТЕ ВСЕ УСТАНОВЛЕННЫЕ ПАКЕТЫ Лучшей идеей, которая может сработать для вас, будет наличие очереди установки, в которую пользователи могут рекомендовать пакеты, которые теперь проверяет системный администратор. а затем и устанавливает, где это необходимо. Установка на нескольких машинах может быть выполнена различными способами. Вот один простой способ установки на отдельные группы машин:
Размещайте дополнительные пакеты в репозитории на сервере, находящемся под вашим контролем в вашей сети.
Убедитесь, что репо настроено на всех компьютерах в здании.
Установите cronjob
, который запускается каждые 15 или около того минут, чтобы установить все обновления (sudo apt-get update; sudo apt-get -y upgrade
)
На сервере репо, если вы хотите группу компьютеров, на которых установлен данный пакет, обновите пакет для этой группы компьютеров, чтобы пакет, который вы хотите установить, был зависимым от пакета computer-group.
Если пакет, который вы хотите установить (и / или его зависимости), недоступен в основных репозиториях, добавьте их на сервер репо.
Надеюсь, это поможет.