首先,让我澄清一下,我已经搜索过 Ask Ubuntu 和 Stack Overflow,也在 Google 上搜索了很多,但没有找到任何针对我的问题的具体解决方案。
因此,我正在 Ubuntu 服务器上设置一个网络托管环境。该服务器以www-data
用户身份运行 Nginx。我遇到的问题是 SSH 用户的隔离。
使用监禁设置,我可以将 SSH 用户限制到他们自己的目录中,但同时,我需要授予 Web 服务器对这些目录的写入权限。现在,即使用户被监禁,如果他知道任何其他 SSH 用户主目录(Web 服务器具有写入权限)的绝对路径,他将能够使用 Web 服务器修改内容(写入、删除或其他操作),而不受任何限制。
例如,用户可以从/var/userone/sites/alter.php
以下方式执行 PHP 脚本:
file_put_contents('Creating a file with this text', '/var/usertwo/sites/create.php');
在 usertwo 的主目录中创建一个新文件create.php
。我说得对吗?
在这种情况下,隔离 SSH 用户的最佳方法是什么,以便他们不能查看/读取彼此的目录,从而保持 Web 服务器正常运行且不会出现任何权限问题?
任何适当的指导都将受到高度赞赏。