我有一个运行CentOS Linux 7.2.1511的Web服务器。 我通过Plesk 12.5.30更新#29来完成大部分普通的pipe理任务,但是我也在需要的时候通过SSH进入并弄脏了命令行。 此服务器正在运行多个网站。 我有几个不同的承包商,每个都在自己的一套网站上工作。 例如
所有网站都存在于/var/www/vhosts下的自己的目录中。 例如
/var/www/vhosts/website1.com /var/www/vhosts/website2.com 我如何授权每个承包商访问他们各自的网站,而不允许他们访问所有网站? 我不想在用户之间共享凭据(即在每个网站创build一个FTP帐户并将其传递出去)。 我也需要这个是可扩展的。 我将增加更多的承包商和更多的网站,我将需要能够授予任何承包商访问任何网站。
据我所知,我只能为每个用户设置一个主目录。 我试图在主目录中创build符号链接,但FTP客户端没有显示或跟随符号链接。 由于可伸缩性问题,我不认为我可以简单地用文件权限解决这个问题(但也许我错了)。 我看到了一些build议,将每个文件夹安装在用户主目录中,但是这超出了我的能力,无法轻松执行,而且我不想搞坏硬盘。
如何“绑定安装”?
# mount -o bind /var/www/vhosts/website1.com/ /home/ContractorA/website1.com/ # mount -o bind /var/www/vhosts/website2.com/ /home/ContractorA/website2.com/ # mount -o bind /var/www/vhosts/website3.com/ /home/ContractorA/website3.com/ # mount -o bind /var/www/vhosts/website1.com/ /home/ContractorB/website1.com/ # mount -o bind /var/www/vhosts/website4.com/ /home/ContractorB/website4.com/
卸载和往常一样。
# umount /home/ContractorA/website1.com/ :
configuration相应的SELinux布尔值
列出相关的布尔值
# semanage boolean -l | egrep 'ftp|http' | sort
打开可能暂时适用的布尔值,即
# setsebool httpd_can_connect_ftp on
要永久使用-P标志(即
# setsebool -P ftp_home_dir on