需要帮助具有特定的vsftp设置与虚拟用户访问特定的文件夹

作为我们提供给一些公司的一些服务的一部分,我们已经逐渐成为使用亚马逊服务的托pipe服务提供商。 所以我们在亚马逊上托pipe2个网站。 该网站的根文件是: /var/www/vhosts/{comp1.com, comp2.com}

所以公司1想要访问他们的文件,所以我使用www.sigerr.org上的这个教程(这是迄今为止我见过的最清楚最简单的方式)在vsftpd上创build了一个虚拟用户。 所以我得到它的工作没有问题,我可以连接等与chroot

  -comp1.com // same for comp2.com with chmod set to 555 and chown by root:root +htdocs +logs 

现在来自公司1的客户说他不希望他的非IT人员篡改文件,所以他们只想访问htdocs/Imageshtdocs/somefolder/Images (不记得)。

我有什么select? 我想有一个虚拟和本地用户的混合设置,本地用户的家将是/var/www/vhosts/comp1.com/htdocs/Images但我仍然不确定如何去做。

任何人都可以提出解决scheme

谢谢

我build议你切换到更加灵活的FTP服务器,比如Pure-ftpd ,在这里你可以用你想要的chroot目录configuration虚拟用户,虚拟地设置uid和gid。

如何与Ubuntu的MySQL

我试图按照相同的逻辑,我创build了一个新的虚拟用户images.comp1.com,并在vhosts文件夹中创build它的文件夹:

 # mkdir /var/www/vhosts/images.comp1.com # mkdir /var/www/vhosts/images.comp1.com/images 

后来我按照教程添加了权限和所有者。

 #chwown root:root /var/www/vhosts/images.comp1.com #chmod 555 /var/www/vhosts/images.comp1.com #chown -R vsftpd:nogroup /var/www/vhosts/images.comp1.com/images 

在做了符号链接失败的尝试之后,我发现在这种情况下mount --bind是我最好的朋友。 所以我做了以下

 # mount --bind /var/www/vhosts/comp1.com/htdocs/images /var/www/vhosts/images.comp1.com/images 

到目前为止这么好。

谢谢你的一切