Jailkit - це набір утиліт, які можуть обмежувати облікові записи користувачів певним деревом каталогів та певними командами. Встановити в'язницю набагато простіше за допомогою служб Jailkit, які роблять це "вручну". Jail - дерево каталогів, яке ви створюєте у вашій файловій системі; користувач не може бачити каталогів або файлів, які знаходяться за межами каталогу в'язниці. Користувача перебувають у в'язниці в цьому каталозі та підкаталогах.
Завантажте та встановіть:
http://olivier.sessink.nl/jailkit/index.html#download
VERSION=2.20 # from November 2018
cd /tmp
wget https://olivier.sessink.nl/jailkit/jailkit-$VERSION.tar.gz
tar -zxvf jailkit-$VERSION.tar.gz
cd jailkit-$VERSION/
./configure
make
su -
make install
Встановлення в'язниці
Тепер прийшов час налаштувати каталогі в'язниці. Користувачі, які потрапили до в'язниці, будуть бачити цей каталог як кореневий каталог сервера. Я вирішив використовувати / домашню / в'язницю:
mkdir /home/jail
chown root:root /home/jail
jk_init можна використовувати для швидкого створення в'язниці з декількома файлами чи каталогами, необхідними для конкретного завдання чи профілю (натисніть на нього та прочитайте повну інформацію).
jk_init -v /home/jail basicshell
jk_init -v /home/jail netutils
jk_init -v /home/jail ssh
jk_init -v /home/jail jk_lsh
Додайте користувача
Додайте нового користувача з домашнім каталогом та bash shell та встановіть пароль:
useradd -d /home/jailtest -m jailtest -s /bin/bash
passwd jailtest
Тепер настав час ув’язнити цього користувача
використовувати таку команду:
jk_jailuser -m -j /home/jail jailtest
Тепер ви /etc/passwd
повинні містити щось подібне:
jailtest:x:1001:1001::/home/jail/./home/jailtest:/usr/sbin/jk_chrootsh
Увімкнути bash
За допомогою jk_cp бібліотеки bash копіюються у в'язницю:
jk_cp -v -f /home/jail /bin/bash
Редагувати /home/jail/etc/passwd
замініть цей рядок:
jailtest:x:1001:1001::test:/usr/sbin/jk_lsh
з цим:
jailtest:x:1001:1001::/home/jailtest:/bin/bash
Технічне обслуговування
За допомогою jk_update
оновлень реальної системи можна оновити у в'язниці.
Пробіг покаже, що відбувається:
jk_update -j /home/jail -d
Без аргументу -d виконується реальне оновлення. Більше операцій з технічного обслуговування можна знайти тут.
(Якщо /home/jail/opt
відсутній, створіть його за допомогою mkdir -p /home/jail/opt/
та запустіть jk_update -j /home/jail
ще раз)
Надайте доступ до інших каталогів
Ви можете монтувати спеціальні папки, до яких зараз може входити користувач в'язниці. Наприклад:
mount --bind /media/$USER/Data/ /home/jail/home/jailtest/test/
Довідка
http://olivier.sessink.nl/jailkit/howtos_chroot_shell.html
http://olivier.sessink.nl/jailkit/index.html#intro (дуже гарна допомога)
Цей також
Це перевірено та перевірено, працює належним чином