Я пытаюсь создать SFTP-сервер, который может обслуживать файлы на разных виртуальных машинах, в зависимости от того, у какого пользователя файлы тоже были SFTP.
Мы уже использовали ранее. использовал bitvise для создания «виртуальных учетных записей» и ограничения корневого каталога местоположением, в которое мы хотим, чтобы файлы пользователей переходили. Это включало установку bitvise на каждый наш сервер.
Мы пытаемся перейти от этого к выделенной виртуальной машине SFTP, которая затем может передавать свои файлы на соответствующую машину. См. Изображение ниже:
В качестве примера. Кто-то представляет SFTP-документ для учетных данных пользователя «Пользователь 1», эти документы будут доступны / переданы на ВМ 1, и если кто-то SFTP создаст документ для учетных данных пользователя «Пользователь 2», эти документы будут доступны / переданы в ВМ 2
Я пробовал использование «Файлового ресурса» azure для создания сетевого диска, однако, похоже, это вызывает ошибки с правами доступа при доступе к папке через SFTP
При использовании общего файлового ресурса Azure любой пользователь, подключающий диск, будет тем пользователем, к которому у него есть доступ. В этом случае это будет виртуальный пользователь bitvise. лучше всего настроить Active Directory и использовать bitvise учетные данные пользователя для рекламы. это сохранит права пользователей без изменений. В противном случае ваша единственная реальная альтернатива - иметь виртуальные точки монтирования для пользователей. или вы можете создать определенные папки на подключенном общем диске и сделать так, чтобы пользователи были сопоставлены с их каталогом.
Файловый ресурс Azure в первую очередь предназначен для монтирования NFS, который может быть подключен другими машинами для распределенного доступа к файлам.
Похоже, продукт, CompleteFTP , ключевым разработчиком которого я являюсь, может очень легко справиться с этим требованием. CompleteFTP имеет чрезвычайно гибкую виртуальную файловую систему (VFS), в которой вы можете легко монтировать каталоги из разных файловых систем. Есть много разных возможностей. Вы можете, например:
смонтировать UNC-путь совместно используемого каталога в VFS. Конечно, для этого потребуется доступ SMB между виртуальными машинами.
установите бесплатную версию CompleteFTP (которая поддерживает только FTP и FTPS) на каждой из виртуальных машин, предоставив доступ только к вашему SFTP-серверу, а затем используйте функцию папки шлюза CompleteFTP для монтирования виртуальных машин. Папки FTP в VFS сервера SFTP. Таким образом, когда пользователь переходит в папки шлюза, он фактически получает доступ к файловой системе виртуальной машины без каких-либо внешних указаний на то, что происходит. Папки шлюза доступны в версии Enterprise Edition.
Если ваши требования очень специфичны, CompleteFTP предлагает специальные адаптеры файловой системы ( .NET или Javascript ). Это позволяет вам разрабатывать свои собственные виртуальные файловые системы практически неограниченной сложности.