我想设置一个 Debian 服务器,以便不同的用户拥有自己的域,只有他们可以编辑,例如:
/home/
+ /bob/www/
+ oldsocks.com/
+ nosepickers.org/
+ /joe/www/
+ no-fun.com/
+ whatever.net/
Bob 应该能够 SFTP 并编辑他的东西,Joe 也是如此。当然,问题在于 nginx 和 php-fpm 以www-data
. 使用 Apache,我能够安装apache-mpm-itk
包并使用该AssignUserID
指令使每个虚拟主机都有自己的 uid/gid。我认为 nginx 不存在这样的东西。
我没有足够的经验来了解设置与 nginx 一起使用的上述结构的好方法。我想我必须解决所有拥有的文件www-data
并找到某种方法将每个 SFTP 用户锁定到他们自己的www
文件夹(ssh 监狱?)。我愿意接受建议。
旁注:理想情况下,www
当 SFTP 进入时,每个用户都会被锁定在他们的文件夹中,而不是 SSH 进入。不知道这是否可能。
一种解决方案是将 ProFTPd 与 mod_sftp 一起使用,如下所示:
并将 joe 和 bob 的用户组更改为
www-data
. 因此,您的 Web 服务器将能够访问文件,因为它们是www-data
组可读和可写的。DefaultRoot
将在他们的主目录中监禁用户,所有新创建的文件和文件夹都将有www-data
组。