为less数(可能是未知的)人提供file upload系统

我需要访问几个人上传一些大的(video)文件到我pipe理的服务器。 对于我自己,我会使用scp但是因为他们不是我,所以我不想让他们完全通过ssh (/ scp )访问服务器,因为我不一定知道所有的人,如果用户不能访问彼此的文件,则算作加号。

提供上传到服务器的最好和最安全的方法是什么? 这会对现有的防火墙规则造成什么样的修改(基本上只允许端口22和80/443,但是具有QoS)?

服务器运行Ubuntu 9.04。 客户范围从Linux到Mac OS X到各种版本的Windows。

你可以使用vsftp (非常安全和快速的ftp服务器)并设置一个“安全的FTP Dropbox”相关的configuration参数是:

 local_enable=YES write_enable=YES nopriv_user=ftp anonymous_enable=YES anon_upload_enable=YES chown_uploads=YES chown_username=inftpadm ftp_username=inftpadm local_umask=002 anon_umask=007 file_open_mode=0666 dirlist_enable=NO 

您还可以使用电子邮件密码“保护”更多:

 secure_email_list_enable=YES 

在/etc/vsftpd.email_passwords中添加“白名单”电子邮件

那么,一些select:

  1. 只要给每个用户自己的帐户。 优点:用户需要authentication,所以你知道谁上传了什么; 任意的人不能滥用你的上传; 人们可以pipe理自己的文件,但没有其他人的。 缺点:设置帐户和密码可能是不切实际的,如果这是很多人。
  2. 设置一个只写的FTP服务器,就像rkthkr的回答描述的一样。 临:没有麻烦添加新用户; 骗子:很难说谁上传了什么
  3. 使用chroot帐户configurationSFTP服务器,并将该帐户分配给所有用户。 专业版:阻止匿名用户,无需设置单独的帐户。 骗子:人们可以读取/删除彼此的文件。 为了解决这个问题,你可以设置一个脚本,将上传的文件从上传目录移动到SFTP无法访问的地方。