Назад | Перейти на главную страницу

Пользователь Chrooted не запускается в своем домашнем каталоге и не загружает bash_profile

Если пользователь входит в систему, он запускается в / из 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-окружение, если я удалю эту часть. это Вопрос, который я задал ранее, в некоторой степени связан с этим, так как я думаю, что неправильный вид командной строки вызван незагруженными файлами профиля. Итак, есть идеи, как это исправить?

Ваша конфигурация верна, за исключением небольшой детали: домашнего каталога в /etc/passwd не должен содержать часть chroot-пути. Измените его на:

test:x:1004:1008:,,,:/home/test:/bin/bash

начать сначала sshd и попробуй еще раз.

Из man sshd_config:

ChrootDirectory

Задает путь к каталогу, в который после аутентификации будет использоваться chroot (2). Все компоненты имени пути должны быть корневыми каталогами, которые не доступны для записи другим пользователям или группам. После chroot sshd (8) меняет рабочий каталог на домашний каталог пользователя.

То есть сначала sshd выполняет chroot (в нашем случае chroot /var/jail), а потом sshd изменяет каталог на домашний адрес пользователя (в нашем случае cd /home/test - в chrooted окружении cd /var/jail/home/test не сработает).

Если вы используете Debian / Ubuntu (поскольку указанное вами руководство предназначено для Debian), вы можете создать файл с именем /var/jail/etc/debian_chroot с содержимым "chroot" это будет отображаться в приглашении пользователя в круглых скобках следующим образом: (chroot)test@servername:~$.

(Я продублировал вашу конфигурацию на моем Ubuntu 12.04, и она заработала после удаления /var/jail из записи пользовательского теста в /etc/passwd.)