Задать вопрос
nepster-web
@nepster-web

Как добавить команды пользователю, jailkit ?

Установил jailkit, подскажите пожалуйста как добавить пользователю такие команды как:
node, npm, yum ?
  • Вопрос задан
  • 2616 просмотров
Подписаться 3 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
@inkvizitor68sl
Linux-сисадмин с 8 летним стажем.
> yum
А смысл? Он только от рута им пользоваться сможет, а став рутом внутри джейла, он станет рутом и во всей системе, если захочет (через загрузку модуля ядра, например). Если выдать sudo на yum - всё равно можно будет подсунуть пакет, который загрузит модуль ядра.

Для остальных пакетов:
yum install --installroot=/path/to/jail package
От имени рута в основной системе. Правда, оно натащит за собой кучу зависимостей.

Если пакеты не помогают, то попробуйте для начала так:
jk_cp -v -f /path/to/jail /usr/bin/node

Если не поможет (и ноду вы собирали руками), придется разложить все файлы вручную внутри джейла. Только не забудьте, что из джейла нода будет тоже запускаться внутри джейла. Поэтому, она не сможет взаимодействовать с чем-нибудь другим через unix-сокеты основной системы (например, через /var/run/mysql.sock , если нода его уже умеет). Да и /dev ей наверняка нужен (это я про ноду в режиме демона).

В общем, вам нужно будет как-нибудь febootstrap-нуть centos (но центос как обычно говно, и вам придется руками найти нужный архив или в качестве джейла использовать дебиан) и использовать его в качестве jail-a.
Ну и примонтировать служебные файловые системы внутри jail. Как минимум, /proc, /dev/, /sys, /dev/pts
Тогда можно будет говорить о запуске демонов внутри jail. Но и безопасность это сильно снизит.

Jail всё же предназначен для обеспечения возможности пользователю работы с файлами по ssh с жестким ограничением внутри определенного каталога системы, в котором лежат все бинарники и библиотеки, которые пользователю можно запускать.

В общем, если оно вам правда нужно, то вам нужна сначала сделать вот это:
https://debian.pro/440 (debootstrap замените на распаковку архива с минимальной центосью)
Потом вот отсюда https://debian.pro/1237
useradd -d /home/jailuser1 -m jailuser1 -s /bin/bash
jk_jailuser -m -j /jails/jailuser1/ jailuser1

Вместо jk_init/jk_cp вы уже будете использовать yum внутри джейла от рута (можно командой cd /path/to/jail ; chroot . от рута залогиниться рутом в jail)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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