Использование rssh для chroot вызывает ошибку rsync (код 12)

308
TroyDowling

Я настраиваю свой домашний 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.

0
У вас есть rsync в `/ my / backup / path`? Ipor Sircer 7 лет назад 0
Да. Я связывал его раньше, но я только что протестировал, скопировав бинарный файл из / usr / bin и предоставив ему 777 разрешений. Тот же результат. TroyDowling 7 лет назад 0
... а зависимые библиотеки? Ipor Sircer 7 лет назад 0
Библиотеки, как сообщает `ldd`? Это похоже на грязное решение. Есть ли лучший способ выполнить задачу, предотвращающую доступ пользователя NAS к остальной части сервера? TroyDowling 7 лет назад 0
используйте rsync изначально, он имеет встроенную поддержку демона. это было бы также быстрее, чем проходить через ssh. Кстати. это рекомендуемый способ. Ipor Sircer 7 лет назад 0

0 ответов на вопрос

Похожие вопросы