多用户的目的是什么?

Wil*_*uck 2 linux permissions users apache-2.2

在我的 linux 机器上设置 apache web 服务器时,我被告知要创建一个单独的用户,该用户有权使用(并且其主目录是)/www 目录中的文件。此外,我已经创建了一个 mySQL 用户。这两个用户都具有 nologin 属性。

我几乎不知道我在这里做什么,而且我主要通过http://localhost进行测试,所以我主要使用我的用户帐户进行工作。

我想知道的是:

1)一般来说,这些用户为什么存在?

2)apache、mySQL或php是否访问这些用户的权限?

3)在什么情况下我会访问这些用户的权限?

4) 为什么他们需要 nologin 属性?

5)任何其他我不知道可以询问的相关信息。

谢谢。

And*_*ith 7

简单来说...

  1. 单独的用户正是这样做的 - 它将事情分开,以便一个用户无法访问或修改另一个用户的文件,具体取决于用户对其文件设置的权限。许多守护进程(包括 Apache)在特定用户帐户下运行 - 例如,Red Hat 倾向于使用“apache”用户,而 Debian 使用“www-data”。这意味着守护进程被视为任何其他用户 - 与 root 用户不同,它无法访问不允许的文件
  2. Apache 这样做,因为它从文件系统中读取文件,再次像任何其他用户一样。因为 PHP 通常在 Apache 中作为一个模块运行,所以它也受到同样的限制。但是,MySQL 具有单独的身份验证方案,因此本地用户和数据库用户之间没有隐含的相关性
  3. 如果您只是为您的网络内容创建一个单独的用户,您将访问该用户以修改该用户拥有的文件 - 大概是您的网络内容。
  4. 通过“nologin 属性”,我假设您的意思是将 shell 设置为/sbin/nologin- 这会阻止用户以交互方式登录,即他们无法通过 SSH 连接到服务器或在控制台上登录。
  5. 老实说,这不是几行可以涵盖的。互联网上散布着许多针对初学者的指南 - 通读一些指南并感受一下!