Я настраиваю свой домашний NAS для периодического восстановления резервных копий с другого сервера.
На сервере находится фиктивный пользователь, использующий оболочку rssh, настроенную только для разрешения доступа rsync. Я также хотел бы сделать chroot пользователей в каталог резервного копирования, чтобы у них не было доступа к остальной части системы.
Когда ключ chrootpath
закомментирован, следующая команда успешно выводит список содержимого корневого каталога:
rsync --list-only server:/
Если для переменной chrootpath
задано значение /my/backup/path
или любой другой каталог, включая /
, та же команда завершится неудачно с:
rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
rsync error: error in rsync protocol data stream (code 12) at io.c(601) [Receiver=3.0.7]
Как и rsync --list-only server:/my/backup/path/
.
Я не уверен, где я иду не так. Все отлично работает, если я не использую chroot. Я также отключил chrootpath rssh и установил ChrootDirectory
в предложении Match User в моем sshd_config. Я получил те же (код 12) результаты от rsync.