如何在Ubuntu上配置虚拟主机,使一个用户只能访问一个站点

时间:2013-12-22 08:11:01

标签: ubuntu virtualhost

感谢您对此进行调查。我想以这样一种方式配置我的VPS服务器,它可以托管多个站点,并且每个站点都可以通过唯一的用户帐户访问。与此同时,我想拥有一个可以访问所有网站的主帐户。

因此,例如,如果我有site1,site2,site3,那么结构如下是理想的:

/home/site1/
/home/site2/
/home/site3/

其中/home/siteX/是站点X的webroot,同时是“userX”的主目录。 UserX将无法访问其主目录之外的任何其他目录。

理想情况下(但不是强制性的)如果每次添加新用户时自动处理虚拟主机配置都会很棒。这将是纯粹的开发服务器,除了访问网站之外,我不打算在那里添加用户。

再次感谢!

1 个答案:

答案 0 :(得分:1)

最好的方法是将他们的家庭定为chroot。

解决方案1 ​​ - PLESK

使用 Plesk * 时,您可以获得此功能。许多VPS提供商都提供Plesk,通常免费提供10个域名,并支付30,100等域名。 它在Ubuntu的顶部工作得非常好。

但是,使用plesk,您的用户不在/home/XX但在/var/www/vhosts/site.com

解决方案2 - CHROOT / JAILKIT

另一方面,您可能需要手动配置 chrooted shell ,这也不难,但设置它会耗费相当多的时间,特别是如果你是不是在日常服务器管理的业务。但是,Jailkit可能是一个简单的解决方案。

解决方案3 - RBASH

您也可以使用 rbash 这是一个受限制的shell,这是一个简单的解决方案,但可能满足您的需求,也可能无法满足您的需求:http://www.cyberciti.biz/faq/restrict-linux-users-to-their-home-directories-only/


*:可能 CPanel 会做同样的事情。