经过长时间的犹豫,我终于订购了一个小型 VPS 供自己使用,主要是网络托管(几个网站,供我和朋友使用)以及其他(mumble 服务器托管、wave 服务器等)。它本质上是一个基本的 LAMP 盒。
我想为一些朋友提供一些托管空间,并允许他们对其进行调整。这意味着他们将需要自己的 FTP 访问权限,也许还需要 SSH(如果足够安全)。
我在 LAMP 设置/管理方面有一些经验,但在一般服务器管理(用户设置、ftp 等)方面经验不多。这就是为什么我想从基础开始并构建可靠和安全的东西。
我的每个朋友都会在系统上拥有自己的用户,但有什么特别之处吗?我是为每个用户创建一个组,还是他们都共享同一个组?我想这只有在我允许他们通过 SSH 登录时才会改变,但稍后会详细介绍。
我首先关心的是共享网络托管。即使我不会托管敏感数据,我也不希望用户弄乱其他人的文件。我在使用 PHP/CGI 和 Apache 之前解决了这个问题suexec,但是在阅读了Stuart Herbert 关于 Web 平台的精彩文章后,我觉得用mpm-itk. 您对此有何反馈意见?
由于我的目标用户有点古怪,我在考虑让他们调整自己的 php.ini。你怎么看?这样做是否有任何潜在的安全威胁?
例如,他们可以大量增加内存限制并影响其他用户,但我认为这不会成为问题。
在没有 FTP 访问的情况下很难部署您的网站,对吗?我阅读了很多解释如何创建虚拟用户的 pureftpd 教程。这并不真正适用于我,是吗?我只是在考虑允许用户通过 ftp 登录,将他们 chroot 到他们的主目录,就是这样。还有什么(通过 ftp 禁用 root 访问)?
这是我的主要问题。作为用户,我总是喜欢通过 SSH 连接到我的帐户,只是为了执行一些批处理操作,或者直接在服务器上提取存档,而不必通过 FTP 上传每个单独的文件。但是,我不希望我的用户能够浏览整个文件系统等。我对 SSH 配置不是很熟悉,所以有没有一种方法可以让用户连接并将它们“chroot”到他们的家中?
我已经在调整我的立场,但我真的很想得到这里所有明智大师的意见,关于如何正确地做事,以及如何避免新手错误。我的 VPS 管理界面中有一个易于按下的“操作系统重置”按钮,但在我所有托管网站上看到“H@ked by th3 H4xx00r5”消息后,我不想经常点击它.