Назад | Перейти на главную страницу

Настройте SFTP с помощью OpenSSH и AWS S3 Bucket, смонтированного через S3FS на Amazon EC2

Как разрешить нескольким пользователям SFTP с S3FS и OpenSSH?

Все работает, за исключением того, что пользователи SFTP не имеют разрешения на запись в свой Chrooted домашний каталог: remote open("/some_file"): Permission denied

Настроить

У меня есть экземпляр Amazon EC2 под управлением Amazon Linux. Я установил S3FS и установил ведро S3. Я также настроил OpenSSH, чтобы пользователи SFTP могли получать доступ к Chrooted Home каталогу внутри смонтированного S3 Bucket. /s3_mounted_folder/user_folder/. Я успешно использовал SFTP-соединение в каталоге, не подключенном к S3. Я успешно использовал ведро S3 для создания и загрузки файлов с S3 как root на экземпляре EC2 через SSH. Мои пользователи SFTP могут успешно загружать файлы со своих /s3_mounted_folder/user_folder/ каталог. Проблема в том, что пользователи SFTP не могут put файлы в смонтированную папку S3.

Проблема ... я думаю

Я могу настроить только все папки (/s3_mounted_folder/ и /s3_mounted_folder/user_folder/) с тем же пользователем: группой и теми же разрешениями, поэтому я не могу предоставить пользователю доступ для записи в его / ее домашний каталог (/s3_mounted_folder/user_folder/). Если я смонтирую корзину с пользователем или группой и дам разрешения на запись, тогда OpenSSH SFTP не позволит пользователям подключаться, поскольку считает, что разрешения пользователя настроены неправильно (пример: drwxr-xr-x 1 root root vs. drwxrwxr-x 1 root usergroup).

Команды S3FS

Вот две разные команды для запуска S3FS в этих двух режимах (где пользователь 501 и группа 501 являются пользователем и группой SFTP):

права пользователя root (drwxr-xr-x 1 root root): sudo s3fs nwd-sftp /sftp/ -o iam_role=sftp-server -o allow_other -o umask=022

разрешения пользователя sftp (drwxrwxr-x 1 root usergroup): sudo s3fs nwd-sftp /sftp/ -o iam_role=sftp-server -o allow_other -o umask=002 -o gid=501

В этом втором сценарии пользователь теоретически сможет put файлы в свой домашний каталог через SFTP, но SFTP не позволит им подключиться, потому что их домашний каталог Chrooted имеет права записи для группы, которая не является корневой.