В конце концов я нашел тюремный комплект
инструмент, который предназначен для автоматизации тюремного заключения пользователей, а не для ручного, что я изначально пытался сделать.
Чтобы настроить каталог chroot, я использовал следующие шаги.
Установка (в Ubuntu)
Установку из исходников можно найти здесь
sudo apt установить джейлкит
Настройка каталога
Список различных пакетов, к которым разрешен доступ, можно найти по адресу /etc/джейлкит/jk_init.ini
. Я также установил git таким образом после того, как настроил его.
sudo chown root: root /srv/test_user
sudo jk_init -v /srv/test_user netutils basicshell jk_lsh openvpn ssh sftp
Общий формат ниже
sudo chown root:root <chroot_directory>
sudo jk_init -v <chroot_directory> <пакеты>
Заключение пользователя
sudo jk_jailuser -m -j /srv/test_user test_user
Изменение оболочки
Наконец, оболочка, указанная в <chroot_directory>/etc/passwd
следует изменить с /usr/sbin/jk_lsh
к /бин/баш
. Обратите внимание, что должны быть только записи для test_user, root и, возможно, еще один логин.
Оттуда вы можете войти через ssh или sftp/scp и получить доступ ко всему, как и ожидалось. Обратите внимание, что для входа с помощью открытого ключа вам необходимо настроить ~/.ssh/authorized_keys
файл