如何安全地在虚拟主机上拥有多对多用户
How to securely have many to many users on virtual hosts
我目前在我的虚拟主机上设置了一个用户,如下所示:
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
您可以为每个虚拟主机创建一个新组,并向其中添加 www-data 和其他授权用户。然后将该组设置为文件的所有者 (chown)。通过指定适当的权限(如 775),您将在那里。
我目前在我的虚拟主机上设置了一个用户,如下所示:
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
您可以为每个虚拟主机创建一个新组,并向其中添加 www-data 和其他授权用户。然后将该组设置为文件的所有者 (chown)。通过指定适当的权限(如 775),您将在那里。