我最近从 Centos Cpanel 服务器设置迁移到 Ubuntu,并一直在尝试研究如何设置多个用户,当他们通过 ssh 连接到服务器时,这些用户会被限制/监禁在他们自己的主目录中,就像在 Cpanel 中的情况一样。
我有一台托管多个网站(主要是基于 PHP 的网站)的服务器,并且希望仅向网站所有者提供对其网站目录的访问权限。
服务器设置如下...
Ubuntu 16.04 Apache 2.4 PHP 7.0-php-fpm MYSQL Varnish
我进行了一些研究以了解如何做到这一点,并想出了以下方法......
- 为每个网站所有者创建单独的用户和用户组。
- 使用 Apache vhosts 将 Web 目录的 userdir 设置为用户的主文件夹,即 /home/user/public_html
- 将 Web 目录中的所有文件和文件夹更改为步骤 1 中创建的用户:用户组。
- 为每个网站所有者配置一个单独的 php-fpm 池,确保 php 以他们自己的用户身份运行。
- Chroot 用户使用这里说明的方法和 make_chroot_jail.sh 脚本 ssh 到他们自己的主目录(https://www.howtoforge.com/restricting-users-to-sftp-plus-setting-up-chrooted-ssh-sftp-debian-squeeze/#-enabling-chrooted-ssh) 和这里 (http://www.fuschlberger.net/programs/ssh-scp-sftp-chroot-jail/)
鉴于我已经在该服务器上运行了许多网站,并且需要做大量工作才能完成上述操作,我想我希望有比我聪明得多的人可以让我知道上述方法是否合理且值得继续实施?