Садитесь поудобнее и внимательно прочитайте пост, так как он будет полезен всем. Я попробовал интересный софт, который может пригодиться как админам Linux, так и Windows, а также всем остальным любителям настраивать сервера. Речь пойдёт про файловый сервер SFTPGo. Мне очень понравилась его простота, удобство настройки и функционал. Расскажу обо всё по порядку.
Основные возможности SFTPGo:
◽ хранение файлов локально, в том числе в зашифрованных хранилищах, в S3 совместимых хранилищах, в хранилищах с доступом по sftp, в Google Cloud Storage, в Azure Blob Storage
◽ доступ к файлам возможен по sftp, ftp, dav, http
◽ доступ настраивается на основе пользователей и групп, аутентификация по паролю или сертификату
◽ управление сервером осуществляется через web интерфейс
◽ есть REST API с доступом как к управлению, так и к данным
◽ веб интерфейс не только для управления, но и для доступа к файлам пользователями
◽ гибкие настройки правд доступа на основе ACLs
◽ умеет отдавать все свои метрики в формате Prometheus
◽ установка возможна на все популярные операционные системы, в том числе и Windows.
Теперь рассказываю на практике, как выглядит настройка. Устанавливаете SFTPGo. Проще всего через Docker:
# docker run --name some-sftpgo \-p 8080:8080 \-p 2022:2022 \-d drakkan/sftpgo
8080 порт для управления, 2022 для доступа по sftp. По дефолту остальные службы (FTP и WevDAV) не запущены. Docker рекомендую только для теста. В прод лучше ставить без него. Это будет удобнее, если используете локальное хранилище для файлов. Меньше проблем с монтированием и правами доступа в контейнере.
Идёте в web интерфейс и создаёте пользователя. В момент создания вы указываете, где будут храниться его данные. Это может быть локальная папка, удалённая с доступом через sftp или S3 бакет. Тут же прописываются все доступы к этому удалённому хранилищу. И тут я вижу большое удобство - один раз создаёте пользователя, подключаете ему S3 хранилище и дальше уже везде, где вам надо, используете этого пользователя.
При этом, если пользователю настроена аутентификация с помощью пароля, эту же учётную запись можно использовать для доступа к файлам через web интерфейс.
SFTPGo как минимум удобный и современный ftp/sftp сервер с управлением и доступом к файлам через веб интерфейс. А в дополнение расширенные варианты для хранилищ. Удобно использовать не только как непосредственно файловый сервер для пользователей, но и для служебных целей, таких как организация бэкапов. Особенно если ими необходимо будет пользоваться обычным людям. Для них web доступ будет очень кстати.
Всё реализовано максимально просто и понятно. Функций немного, веб интерфейс не перегружен. Только самое необходимое. Я разобрался очень быстро.
Исходники - https://github.com/drakkan/sftpgo
Репозитории rpm и deb - github.com/drakkan…/repo.md
Инструкция - github.com/drakkan…arted.md
#fileserver #ftp #sftp