如何在虚拟主机上安全地拥有多对多用户
Posted
技术标签:
【中文标题】如何在虚拟主机上安全地拥有多对多用户【英文标题】:How to securely have many to many users on virtual hosts 【发布时间】:2015-11-01 17:15:51 【问题描述】:我目前在我的虚拟主机上设置了一个用户,如下所示:
sudo useradd -d /website/ -m user -s /usr/bin/rssh
sudo chown root:root /website/ -R #Don't get why I need this part but doesn't work without!
sudo chmod 755 /website/
sudo chown -R user:www-data /website/public_html
sudo chmod 755 /website/public_html
这适用于user
在/website/public_html
中添加和编辑文件夹和文件。
我现在希望能够添加能够在/website/public_html
中添加和编辑文件夹和文件的其他用户。问题在于,如果我开始使用组并将用户添加到组 www-data
并将 chmod 更改为 775,那么用户将能够编辑其他虚拟主机网站,例如 /website2/public_html
。
所有用户(如上所示)只能通过 sftp (-s /usr/bin/rssh
) 访问服务器。在sshd_config
† 的设置帮助下,用户也被锁定到他们的主目录。至此,我想我可以将所有用户添加到同一组 (www-data
) 和 chmod 775
目录中,还是不安全 ?
例如here 有人提到授予虚拟主机775
权限可能允许用户插入可以删除所有内容的php 脚本。但是如果没有775
,这也不允许php创建文件。
†:
Match user user
ChrootDirectory /website/
ForceCommand internal-sftp
AllowTcpForwarding no
GatewayPorts no
X11Forwarding no
【问题讨论】:
需要为同组的用户添加权限 sudo chmod -R 775 到public_html或者www文件夹。 但正如我所说,我有很多虚拟主机,所以这会导致其他人可以访问其他网站! 如何为每个虚拟主机创建一个新组,向其中添加 www-data 和其他授权用户,然后为该组执行 chown? @Ahmad 谢谢你的工作!! @Maximilian:欢迎您!请将我的答案标记为正确! 【参考方案1】:您可以为每个虚拟主机创建一个新组,并将 www-data 和其他授权用户添加到该组。然后将该组设置为文件的所有者(chown)。通过指定适当的权限(如 775),您将在那里。
【讨论】:
以上是关于如何在虚拟主机上安全地拥有多对多用户的主要内容,如果未能解决你的问题,请参考以下文章