Пользователи SFTP Chroot для установленной корзины S3
Я пытаюсь использовать серверы Amazon EC2 в качестве своего SFTP-сервера, где я могу создавать аутентифицированных пользователей для sftp на мой сервер. Я установил s3 buckets на серверы в каталоге / mnt / buckets / {username} для каждого пользователя, использующего s3fs. Чтение и запись в каталог / mnt / buckets / {username} работает с s3, как и ожидалось.
Мой sshd_config имеет следующее.
ChrootDirectory /mnt/buckets/%u
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
При SFTP-инге я получаю следующий ответ
...
debug1: Authentication succeeded (publickey).
Authenticated to ec2-54-173-113-164.compute-1.amazonaws.com ([54.173.113.164]:22).
debug2: fd 5 setting O_NONBLOCK
debug3: fd 6 is O_NONBLOCK
debug1: channel 0: new [client-session]
debug3: ssh_session2_open: channel_new: 0
debug2: channel 0: send open
debug1: Requesting no-more-sessions@openssh.com
debug1: Entering interactive session.
Write failed: Broken pipe
Connection closed
Установленное ведро имеет эти разрешения.
/home/ubuntu# ls -l /mnt/buckets/
total 1
drwxrwxrwx 1 root root 0 Jan 1 1970 sftptester
Когда я изменяю каталог Chroot на / mnt / buckets, я могу войти на сервер sftp, а также читать и записывать в смонтированное ведро s3
Можно ли привязать пользователя к монтированному ведру s3?
(Также, если есть какие-либо инструменты, которые уже имеют эту функциональность, мне было бы интересно узнать их также)
1 ответ
Проблема может заключаться в том, что S3 "папки-папки", которые отображаются как пользовательские каталоги в папке монтирования, не имеют правильных разрешений для чтения пользователями SFTP.
Попробуйте добавить это к вашему выполнению S3FS -o umask=022
, Это добавит следующие разрешения в ваши пользовательские папки SFTP: drwxr-xr-x
Пример: sudo s3fs bucket-name / mount / folder / -o iam_role = роль_имя -o allow_other -o stat_cache_expire=10 -o enable_noobj_cache -o enable_content_md5 -o umask=022
-o allow_other
а также-o umask=022
оба были необходимы для меня, чтобы заставить это работать.