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

Невозможно выполнить chroot в каталог, но может войти в него cd

При подключении к серверу SFTP у меня нет проблем с переходом в каталог / home и доступом к нужному каталогу (FileFolder). Но когда я пытаюсь настроить его так, чтобы он перешел прямо в каталог, он отклоняет соединение.

Когда я изменяю следующую строку ChrootDirectory /home к ChrootDirectory /home/FileFolder мое соединение отклонено при подключении в качестве гостя. Разрешения для гостевого пользователя rx поскольку я хочу, чтобы пользователь мог загружать только файлы.

Я попытался добавить логирование в свою конфигурацию, чтобы, возможно, понять, что происходит:

SyslogFacility AUTH
LogLevel INFO

Но файл /var/log/auth.log не существует (я могу ошибаться, и он записывается в другой файл). Я также пробовал использовать journalctl _COMM=sshd но он не дает мне подробной информации, только пользователей, которые подключаются, и их IP-адреса.

Мой sshd_config:

Port 22

PubkeyAuthentication yes

AuthorizedKeysFile  .ssh/authorized_keys

PasswordAuthentication no

ChallengeResponseAuthentication no

UsePAM yes

Subsystem   sftp    /usr/lib/ssh/sftp-server

Match Address 192.168.8.*
    PasswordAuthentication yes

Match User guest
    ForceCommand internal-sftp
    ChrootDirectory /home

Я пробовал решение отсюда Но это не работает.

P.S. Я подключаюсь с IP-адреса 192.168.8. *, Поэтому это не ошибка аутентификации pubkey.

Решение: мне пришлось изменить владельца FileFolder на root. Изначально это был просто пользователь с привилегиями root.

Я подозреваю, что проблема с разрешениями. Почему chroot to / home работает, потому что он принадлежит корень. Chroot для / главная / FileFolder не работает, потому что он не принадлежит root и должен быть доступен для записи только root. Все элементы в chroot путь должен иметь такую ​​же привилегию. Проверьте "/ var / log / secure" для информации журнала. В нем будет указана причина сбоя chroot.