Использование оболочки chroot с Jailkit в ISPConfig — это стандартная практика для повышения безопасности, позволяющая ограничивать пользователям доступ к файловой системе за пределами их домашнего каталога. Если у вас возникли проблемы, вот что нужно делать.
Общие шаги по устранению проблем
- Проверьте конфигурацию Jailkit в ISPConfig.
- Войдите в панель управления ISPConfig.
- Перейдите в Система > Конфигурация сервера и выберите ваш сервер.
- Откройте вкладку Jailkit.
- Убедитесь, что поле «Секции приложений Jailkit chroot» (
Jailkit chroot app sections) содержит необходимые программы (например,utils,ssh,sftp,editors). - Если пользователю требуется доступ к PHP из оболочки, убедитесь, что в списке присутствует
php.
- Обновите среду chroot.
- После изменения настроек в ISPConfig вам может потребоваться заново сгенерировать среду chroot. Это гарантирует, что все необходимые файлы (такие как исполняемые файлы и библиотеки) будут скопированы в изолированный каталог.
- В более старых версиях ISPConfig или для ручного устранения неполадок можно использовать специальные сценарии (
scripts), которые обеспечивают правильное наполнение chroot-окружения.
- Изучите логи сервера.
- Проверьте системные журналы, чтобы найти сообщения об ошибках, связанные с попытками входа в оболочку chroot.
- Обычно, логи SSH (
/var/log/auth.logна Debian/Ubuntu,/var/log/secureна CentOS/RHEL) могут содержать полезную информацию, например, ошибки, связанные с отсутствующими файлами или разрешениями.
- Проверьте отсутствие необходимых файлов и библиотек.
- Наиболее частая причина сбоев в chroot-окружении — отсутствие необходимых исполняемых файлов или библиотек, которые требует программа.
- Jailkit автоматизирует этот процесс, но иногда что-то может быть упущено.
- Если пользователь не может запустить какую-либо команду, зайдите в каталог
chroot(обычно/var/www/clients/clientN/webN/для конкретного сайта) и проверьте, присутствует ли необходимый файл. - Утилита
lddможет помочь определить, каких библиотек не хватает исполняемому файлу (например,ldd /path/to/executable_in_chroot).
- Разрешите дополнительные утилиты или
bin.- Если пользователю нужен доступ к дополнительным командам, отредактируйте файл конфигурации
/etc/jailkit/jk_init.ini. - Вы можете добавить новую секцию или дополнить существующие, указав путь к необходимой утилите.
- После этого заново сгенерируйте среду chroot, чтобы изменения вступили в силу.
- Если пользователю нужен доступ к дополнительным командам, отредактируйте файл конфигурации
Специфические проблемы и их решения
- Проблемы с резервным копированием: Некоторые автоматические инструменты резервного копирования (например, Softaculous) могут не работать в chroot-окружении, поскольку им требуется доступ к системным файлам за его пределами.
- Решение: Отключите функции резервного копирования для конечных пользователей в Softaculous и используйте встроенную функцию ISPConfig, которая запускается от имени
rootчерезcron, что позволяет избежать ограничений chroot.
- Решение: Отключите функции резервного копирования для конечных пользователей в Softaculous и используйте встроенную функцию ISPConfig, которая запускается от имени
- Проблемы с доступом к PHP в оболочке: Если пользователю нужно запускать PHP-скрипты из командной строки, необходимо явно добавить поддержку PHP в конфигурацию Jailkit.
- Решение: Добавьте слово
phpв поле «Секции приложений Jailkit chroot» на вкладке «Jailkit» в настройках сервера в ISPConfig. Также убедитесь, что в файле/etc/jailkit/jk_init.iniприсутствует секция[php].
- Решение: Добавьте слово
- Проблемы с интерактивной оболочкой SSH: Если вход через SSH не работает, возможно, среда chroot настроена для
sftp-only.- Решение: Убедитесь, что для пользователя установлен правильный тип оболочки, и что в среде chroot есть все необходимое для запуска интерактивной оболочки, например,
/bin/bash.
- Решение: Убедитесь, что для пользователя установлен правильный тип оболочки, и что в среде chroot есть все необходимое для запуска интерактивной оболочки, например,
Добавить комментарий
Для отправки комментария вам необходимо авторизоваться.