Debain FTP服务器软件,哪一个支持我的设置?

我寻找一些FTP服务器软件的Debain 6.0挤压,可以支持以下内容:

  • MySQL的用户名/密码。
  • 将每个用户login分隔到自己的目录中。
  • 在用户目录中,我需要能够设置特定的子目录,用户可以具有以下权限的任意组合:
    • 列出文件
    • 读取文件
    • 写文件
    • 删除/覆盖文件
  • 另外,当用户上传文件时,我需要能够设置Linux权限标志/所有权文件
  • 最好在安全(SFTP)和非安全模式下运行

有没有人有一些软件,可以做大部分(如果不是全部)这样的build议?

大部分这是非常简单的。 pure-ftpd-mysqlvsftpd + libpam-mysql可以使用(具有足够的configuration)“虚拟”用户的MySQL表,将它们chroot到自己的小目录,并configuration传入文件的umask位。 两者都可以使用SSL(FTPS),并可以强制客户端使用SSL或允许不安全和安全的login。

权限将需要一些手肘的油脂。 显而易见的解决scheme是使用unix文件系统权限:

  • 目录上的“x”位允许用户“进入”目录
  • 目录上的“r”位允许用户列出目录
  • 目录上的“w”位允许用户创build或删除文件和子目录。
  • ….除非设置了粘滞的“t”位,在这种情况下,他们不能删除其他人拥有的文件。
  • 文件上的“r”位允许用户读取文件
  • 文件上的“w”位允许用户写入文件

根据您的要求,有两个潜在的问题。

较小的问题是“写作”和“覆盖”之间的区别。 有文件的写入权限的人可以清除文件中的所有数据(截断它)并用完全不同的数据填充文件。 我不知道FTP协议是否允许这个(从0的偏移量恢复?也许?)。 有人没有写入权限的文件,但有写权限的目录可以删除该文件,并创build一个新的文件具有相同的文件名。

更大的问题是创build和删除文件是一个单一的标志。 如果你需要用户不能在同一个目录中删除文件,那么最简单的解决办法是创build两个用户:你所有的虚拟用户都要映射到的ftpuser用户,以及拥有所有用户的ftpnodel用户您不希望他们删除的文件,但没有人login。 然后,在所有目录上设置粘滞位,将不可删除的文件ftpnodelftpnodel

有了这个解决scheme,您可以使用“user”rwx位来控制对文件和目录的正常访问,以及“world”(aka“other”)rwx位来控制对ftpnodel文件的访问。