Как настроить sudo для юзеров-программистов?

Виртуальные машины с Ubuntu 14.04.3 LTS Server.

Задача: дать к ним доступ сторонним подрядчикам (фрилансерам, сотрудникам студий), так чтобы они могли:
— устанавливать софт, настраивать окружение, запускать разрабатываемое ПО, читать нужные логи;
— но при этом по-возможности максимально ограничить их в установке вредоносного ПО и нецелевом использовании машин (рассылке спама, например).

Желательно еще ограничить доступ пользователей к чужим пользовательским каталогам.

Какие группы нужно создать, как настроить sudoers?

Понятно, что если мы даем возможность ставить софт и его запускать, то это — прямой путь к установке шеллов и прочего треша. И да, разумеется, людям надо доверять, особенно тем, с кем сотрудничаешь (зачем иначе сотрудничать).
Нужно снизить риски, а не исключить их полностью.
  • Вопрос задан
  • 1013 просмотров
Пригласить эксперта
Ответы на вопрос 6
mobilesfinks
@mobilesfinks
сисадмин *nix
Мне кажется у вас противоречие: "дать им возможность устанавливать софт" и "ограничить их в установке вредоносного ПО".

Настройка ВПС и базового окружения делаете вы сами. Для этого есть много инструментов - Ansible, Puppet и др.
А в sudoers пользователю даёте право только на управление определёнными сервисами (nginx,mysql,php-fpm). Все остальные действия пусть делают под локальным пользователем. Для nginx, например, определяете инклуд файлы которые размещаются в папках пользователей. Ну и со многими сервисами так тоже можно.
Ну и добавление неосновного ПО пусть по запросу будет.
Ответ написан
Комментировать
Ernillew
@Ernillew
Администрирую *nix-системы с 1997 года
А зачем сторонним подрядчикам устанавливать софт?
Для чтения логов вполне рулится группой в которую входит пользователь, так же и в чужие хомяки они не попадут.

Если определитесь зачем вдруг сторонним людям ставить софт, то будем еще что-то предлагать, например запирать их в собственных lxc-тазах.
Ответ написан
borodka_lenina
@borodka_lenina
=)
Советую каждой группе выделить по контейнеру LXC и пусть внутри ковыряются, если нужны какие-то общие ресурсы - пробросить порты до нужных контейнеров.
Ответ написан
Комментировать
@mirspo
Выдавать права я думаю только по: требованию. Думаю надо просто права настроить правильно. Создать группу и сменить группу у нужных каталогов и файлов. Читать логи - доступ на чтение. С установкой программам не знаю - по идее можно локально ставить из исходников или выдать группе права записи на /var/lib/dpkg/ :): В lunux все есть файл!
Ответ написан
piromanlynx
@piromanlynx
Системный администратор в Perfect Solutions
Суньте их в chroot. У нас такие товарищи так и живут.
Ответ написан
Комментировать
sm1ly
@sm1ly
beardman
и поглядите в сторону lshell
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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