需要帮助为 vsftp 进行特定设置,以便虚拟用户可以访问特定文件夹

需要帮助为 vsftp 进行特定设置,以便虚拟用户可以访问特定文件夹

作为我们向一些公司提供的一些服务的一部分,我们逐渐成为他们使用亚马逊服务的托管服务提供商。因此,我们在亚马逊上托管了 2 个网站。该网站的根文件是:/var/www/vhosts/{comp1.com, comp2.com}

因此公司 1 希望能够访问他们的文件,因此我vsftpd使用本教程创建了一个虚拟用户www.sigerr.org(顺便说一下,这是我迄今为止见过的最清晰、最简单的。)所以我让它工作起来没有问题,我可以用 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(不记得了)。

我有什么选择?我想过采用混合设置,既有虚拟用户也有本地用户,本地用户的家就在那里,/var/www/vhosts/comp1.com/htdocs/Images但我仍然不确定如何去做。

有人能提出任何解决方案吗?

谢谢

答案1

我建议你切换到更灵活的 FTP 服务器,例如纯 ftpd,您可以在其中使用所需的 chroot 目录访问权限配置虚拟用户并虚拟设置 uid 和 gid。

如何在 Ubuntu 上使用 mysql

答案2

我尝试遵循相同的逻辑来创建一个新的虚拟用户 images.comp1.com 并在 vhosts 文件夹中创建它的文件夹:

# 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

到目前为止一切顺利。

感谢一切

相关内容