我们要在我们的Ubuntu 10.04服务器上设置一个FTP守护进程,这个服务器可以使用一个简单的(可能是自定义的)内置的Web接口,用于使用MySQL进行身份validation的FTP服务器。
它将面向公众,但仅供less数客户或客户使用。
我知道vsftpd,ProFTPd和Pure-FTPd,但我不确定哪个最适合这个应用程序。
主要特点我们想:
对于2,我们正在寻找一些简单的东西,基本上,userA可以访问folderA,而userB可以访问folderB。 如果userC可以访问folderA,folderB和folderC,那就太棒了。
其他任何东西只会洒在上面。
我build议你使用vsftpd有两个原因:
对于身份validation,vsftpd使用PAM。 摘自FAQ:
Q) Help! Will vsftpd authenticate against an LDAP server? What about a MySQL server? A) Yes. vsftpd uses PAM for authentication, so you need to configure PAM to use pam_ldap or pam_mysql modules. This may involve installing the PAM modules and then editing the PAM config file (perhaps /etc/pam.d/vsftpd).
如何configurationpam_mysql身份validation可能是最好的问题,并在一个单独的问题解释。
关于权限:vsftpd可以将用户切换到他们的“home”(也可以使用PAM进行configuration)。 你应该能够使用硬链接(或者也可能是符号链接?)来链接他们应该有权访问他们的主目录内的所有目录。
我不确定这是否会奏效,但是考虑到你会给你的用户虚拟的家园,你可以尝试创buildgroupC内的目录groupC,你将创buildA和B的家,groupC文件夹将是用户C家,这将允许他访问…
看看这个教程的Ubuntu,它似乎很安静可以实现你想要的与proftpd: http : //www.howtoforge.com/virtual-hosting-with-proftpd-and-mysql-ubuntu-8.04
既然你可以设置用户到同一组,它可能会允许你使用的文件,我不知道,因为我从来没有这样做,但值得一试。
GL;)
我很高兴pureftpd的用户,不幸的是它解决了只有问题#1使用MySQL 。 对于第二个你可以尝试创build组权限或硬/符号链接。