设置一个sftp文件转储网站openssh或其他sftpd?

回到过去,我们可以使用匿名上传访问轻松设置ftp服务器,而一旦file upload,用户就无法查看,删除或修改上传的文件。

我想在CentOS 6.2或Ubuntu 11.10中设置类似的东西,但是我们正在传输需要通过sftp / scp / ftps连接的敏感数据。 我已经尝试使用chroot sftp连接,但是由于linux文件夹和文件权限的工作方式,如果用户具有对文件夹的写入权限,则无论如何都可以删除该文件夹中的文件。

有没有其他人设置类似的环境? 我想要他们有一个用户名或用户名/密码组合,将login,所以我们知道谁上传了什么文件,但是一旦file upload,他们应该不再有权删除或修改文件。

谢谢!

从来没有使用过,但ProFTPD有一个sftp模块。 请参阅http://www.proftpd.org/docs/contrib/mod_sftp.html#Usage ,它显示了如何像FTP一样限制它(例如, Limit DELE子句以防止删除)。

*编辑:我正在写胡扯,因为我没有正确地阅读这个问题,这个职位有一个现场操作idiotectomy,现在它希望有关的问题涉及.. 😉

我认为推荐的步骤是使用一些传统的端口21主动/被动types的ftp服务器,在标准的老学校chroot用户ftp dropbox上面提供SSL / TLS层。

vsftpd是一个ftp服务器的例子,它可以configuration为使用ssl,并支持用户权限的低级别configuration,允许您创build一个经过validation的Dropbox风格的ftp系统。

我将使用shell / sbin / nologin为这个ftp项目创build单独的用户,并将它们添加到一个文本文件中,该文件可以作为允许的本地用户传递给vsftpd。

您还可以设置以下选项来限制类似于您的要求的用户

  #If set to NO, all directory list commands will give permission denied. dirlist_enable NO #If set to NO, all download requests will give permission denied. download_enable NO #If activated, all non-anonymous logins are forced to use a secure SSL connection force_local_data_ssl YES #If activated, all non-anonymous logins are forced to use a secure SSL force_local_logins_ssl YES #obfusciate, probably not needed given directory listing restrictions hide_ids YES # allow users with no shell to access ftp, but you have to disable these users via the #vsftpd local permitted users list, not via /etc/passwd check_shell NO 

您还需要使用一些configuration来强制执行只写,无删除的要求,这可能需要您使用cmds_allowed和cmds_deniedconfiguration选项来指定适当命令的列表。

有一个ftp命令的列表, 这里有一个简单的解释。 ,你可能不得不尝试一些试验和错误,因为这些都没有现场testing…

  # chmod_enable No #something like the following... #cmds_allowed=PASV,RETR,QUIT,PUT,USER,PORT,SYST,QUIT,STOR,CWD,PWD #add any other commands that allow READ or DELETE, or rename, etc. cmds_denied=DELE,GET,LIST,MDTM,MKD,NLST,RETR,RMD,RNFR,RNTO,APPE 

有各种可用的文档,这里讨论可能的vsftpd设置 – http://viki.brainsware.org/?en/cmds_allowed

您可以在这里完整地定制可用的命令; https://calomel.org/vsftpd.html

命令的解释在这里; http://www.nsftools.com/tips/RawFTP.htm