Пользователи SFTP Chroot в смонтированном ведре S3

Я пытаюсь использовать серверы Amazon EC2 в качестве своего SFTP-сервера, где я могу создавать аутентифицированных пользователей для sftp на моем сервере. Я установил корзины s3 на серверы в location / 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 [email protected]
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.

Могу ли я chroot пользователя в смонтированное ведро s3?

(Также, если есть какие-либо инструменты, которые уже имеют эту функциональность, мне было бы интересно узнать о них)


person Caleb Yoon    schedule 09.11.2015    source источник
comment
Я не знаю, насколько просто использовать openssh, встроенный в sftp, но он работает, как ожидалось, с proftpd + s3fs. stackoverflow.com/a/23946418/1695906   -  person Michael - sqlbot    schedule 10.11.2015
comment
Вы когда-нибудь решали эту проблему?   -  person T. Brian Jones    schedule 17.05.2016


Ответы (1)


Проблема может заключаться в том, что «папки корзины» S3, которые отображаются как пользовательские каталоги в папке монтирования, не имеют правильных разрешений для чтения пользователями SFTP.

Попробуйте добавить это к вашему исполнению S3FS -o umask=022. Это добавит следующие разрешения к вашим пользовательским папкам SFTP: drwxr-xr-x

Пример: sudo s3fs имя-корзины / 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, чтобы это работало.
person T. Brian Jones    schedule 17.05.2016