我想要设置一个 FTP 服务器,允许客户端通过 SFTP 上传大型文件(2GB 以上的数据库转储)。重点是,我希望客户端使用所有客户端共享的单个用户名和密码登录服务器;但他们不能看到任何其他上传的文件。
我使用 SFTP 是因为上传需要安全,而且文件很大。如果有更好的方法来处理这个问题,我愿意听取建议。
答案1
我不推荐使用 FTP 而不是 SSL,因为它很麻烦,而且可能需要您购买 SSL 证书。正确配置它也是一件很麻烦的事。(有些人会混淆 SFTP/FTPS)。
SFTP 与 FTP/S 不同;后者通过单独创建的安全隧道实现原始 FTP 协议。
使用 SFTP(有时称为 SCP),它是通过 SSH 进行文件传输。您可以为 Windows、Linux 和 Mac 获取免费或付费的 SCP 客户端和服务器 - 例如温SCP或者网络鸭。
您可以使用以下方式在 Windows 中安装 SSH 服务器赛格威或者你可以付一个。
至于将文件分开,您可能需要编写一个 Cron 作业(或操作系统的等效程序),检查已上传的文件,然后将其移出文件夹。如果每个人都要共享同一个登录名,这是我能想到的唯一方法。否则,您必须监禁所有人并向每个人提供他们自己的登录信息。
答案2
我从某些学术设置中了解到这一点的方法是将“传入”文件夹设置为共享 ftp 用户帐户的只写文件夹,并为您自己设置为可读/可写文件夹。