Установить программное обеспечение без рут-доступа?

Можно ли дать пользователю права на установку программного обеспечения, не предоставляя ему других sudo-прав?

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

1
задан 9 September 2013 в 00:16

1 ответ

По ссылке, указанной @tom выше, это, безусловно, возможно, но это плохая идея.

Существует бесчисленное множество эксплойтов, которые можно было бы выполнить с доступом к apt + dpkg, вот один из них в моей голове:

  1. Создайте простой пакет deb со специальным Установить скрипт, который просто добавляет конкретного пользователя в группы администраторов и / или меняет пароль root.

  2. Установите пакет, используя sudo dpkg -i или Software Center.

  3. Теперь у вас есть права доступа к системе на уровне root.

Другая возможность - пользователи, устанавливающие потенциально опасное программное обеспечение на компьютер и / или удаляющие важные вещи, например:

  • *libc* (большинство программ используют много, много вызовов c) [ 1113]
  • linux* (Нет ядра = ничего не загружается)
  • grub* (Нет загрузчика = нет загрузки в ядро)
  • * Мой любимый - [ 119] ОЧИСТИТЕ ВСЕ УСТАНОВЛЕННЫЕ ПАКЕТЫ

Лучшей идеей, которая может сработать для вас, будет наличие очереди установки, в которую пользователи могут рекомендовать пакеты, которые теперь проверяет системный администратор. а затем и устанавливает, где это необходимо. Установка на нескольких машинах может быть выполнена различными способами. Вот один простой способ установки на отдельные группы машин:

  1. Размещайте дополнительные пакеты в репозитории на сервере, находящемся под вашим контролем в вашей сети.

  2. Убедитесь, что репо настроено на всех компьютерах в здании.

  3. Установите cronjob, который запускается каждые 15 или около того минут, чтобы установить все обновления (sudo apt-get update; sudo apt-get -y upgrade)

  4. На сервере репо, если вы хотите группу компьютеров, на которых установлен данный пакет, обновите пакет для этой группы компьютеров, чтобы пакет, который вы хотите установить, был зависимым от пакета computer-group.

  5. Если пакет, который вы хотите установить (и / или его зависимости), недоступен в основных репозиториях, добавьте их на сервер репо.

Надеюсь, это поможет.

0
ответ дан 9 September 2013 в 00:16

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

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