Настройка привязанного пользователя SFTP в каталоге, родитель которого имеет права на групповую запись
У меня есть пользователь, который имеет только привилегии sftp (без ssh) и который привязан к SFTP для /data/docker
, /data
(который является отдельным диском) имеет 775 разрешений, и я бы хотел оставить его таким. Тем не менее, когда есть групповой доступ для записи в /data
Я получаю эту ошибку при попытке войти в систему как этот пользователь:
Write failed: Broken pipe
Connection closed
Как я могу разрешить SFTP без chmodding /data
до 755?
1 ответ
В руководстве OpenSSH sshd_config достаточно четко изложены требования к каталогу chroot:
ChrootDirectory Specifies the pathname of a directory to chroot(2) to after authentication. All components of the pathname must be root- owned directories that are not writable by any other user or group.
Если ты хочешь /data
в режиме 0775, он не может быть частью пути к папке chroot SSH.
Я думаю, что способ обойти это с OpenSSH будет создать другой путь, как /chroot
с правильными разрешениями. Используйте монтирование bind, NFS или что-либо другое, что ваша ОС поддерживает для монтирования /data/docker
папка в новой папке. Тогда вы бы установили /chroot/docker
как папка chroot. Пользователи должны иметь доступ к содержимому /data/docker
сквозь /chroot/docker
дорожка.
Кроме того, вы можете создать и использовать свою собственную копию OpenSSH sshd
без этого ограничения. Или вы можете подумать об использовании другого SFTP-сервера. У JScape есть коммерческий продукт, который, вероятно, будет делать то, что вы хотите.