每个任务都有一个单独的用户?

每个任务都有一个单独的用户?

前几天我刚买了一台 VPS 服务器,我是服务器管理的新手,但对 Ubuntu (11.04) 并不陌生。我把它用作客厅里的 HTPC,我之前有一台 VPS,断断续续地用作团队演讲服务器。这台 VPS 是为长期使用而设置的。因此,我想知道在服务器执行的网站和任务方面的最佳做法。我理解将每个网站分成自己的用户组或自己的用户名可能会有好处。我会设置 nginx,以便它可以读取所有用户目录(以及每个网站),但不能接触其他任何东西。TeamSpeak 也是一样,我是否应该为 TeamSpeak 创建用户,以便它在自己的有限区域内运行,还是这有点过头了?

我确实有权访问服务器上的 root 权限,我目前的计划是运行大约 4 个网站和一个 TeamSpeak 服务器。我的堆栈是 Linux(Ubuntu 11.04 LTS)、nginx 和 PHP 5.4.3(使用内置的 PDO SQLite 3 驱动程序作为数据库)。PHP 应该有自己的用户组吗?还是可以将其与 nginx 放在一起?

答案1

对于 Teamspeak 等服务,最佳做法是将它们作为单独的用户运行,最好是在 jail 中 - 可以在以下位置找到设置 jail 的指南:https://help.ubuntu.com/community/BasicChroot

这样做是为了限制软件漏洞可能造成的损害 - 希望它仅限于破坏 teamspeak 的文件,而不会破坏服务器的其余部分。

由于 Php 和 Web 服务器需要访问相同的文件,因此它们通常可以共享一个用户。

如果可以避免,任何网络服务都不应以 root 身份运行,因为该服务中的漏洞可能让攻击者获得与运行该服务的用户相同的权限。某些软件需要 root 权限才能启动,但可以配置为在启动后放弃这些权限。

相关内容