
Если пользователь войдет в систему, он запустится в / chroot (который на реальной машине - /var/jail). Я бы хотел, чтобы он запустился в своем домашнем каталоге. Кроме того, он, похоже, не загружает ни один из своих файлов профиля (.bash.rc и т. д.). Я следовалэтотучебник по созданию chroot-окружения. Вот как выглядит мой /etc/passwd:
test:x:1004:1008:,,,:/var/jail/home/test:/bin/bash
Вот как выглядит мой файл /var/jail/etc/passwd:
test:x:1004:1008:,,,:/home/test:/bin/bash
Я также обнаружил, что если я удалю
Match User test
ChrootDirectory /var/jail
AllowTCPForwarding no
X11Forwarding no
из моего /etc/ssh/sshd_config пользователь запускается в своей правильной домашней папке и с загруженными настройками bash. Однако он может покинуть chroot-среду, если я удалю эту часть.Этотвопрос, который я задал ранее, несколько связан, так как я думаю, что неправильный вид командной строки вызван не загруженными файлами профиля. Так что есть идеи, как это исправить?
решение1
Ваша конфигурация верна, за исключением небольшой детали: домашний каталог /etc/passwd
не должен содержать часть пути chroot. Измените ее на:
test:x:1004:1008:,,,:/home/test:/bin/bash
перезагрузите компьютер sshd
и попробуйте снова.
От man sshd_config
:
ChrootDirectory
Указывает путь к каталогу для chroot(2) после аутентификации. Все компоненты пути должны быть каталогами, принадлежащими root, которые не могут быть записаны никаким другим пользователем или группой. После chroot sshd(8) изменяет рабочий каталог на домашний каталог пользователя.
То есть сначала sshd
выполняется chroot
(в нашем случае chroot /var/jail
), а затем sshd
изменяется каталог на домашний каталог пользователя (в нашем случае cd /home/test
- в chroot-среде cd /var/jail/home/test
не сработает).
Если вы используете Debian/Ubuntu (поскольку упомянутое вами руководство предназначено для Debian), вы можете создать файл с именем /var/jail/etc/debian_chroot
и содержимым «chroot», он будет отображаться в приглашении пользователя в скобках следующим образом: (chroot)test@servername:~$
.
(Я продублировал вашу конфигурацию на моем Ubuntu 12.04, и она заработала после удаления /var/jail
из пользовательской записи test в /etc/passwd
.)