【发布时间】: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:欢迎您!请将我的答案标记为正确!
标签: php linux nginx permissions sshd