Настройка привязанного пользователя 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 есть коммерческий продукт, который, вероятно, будет делать то, что вы хотите.