在我的linux系统上build立一个apache web服务器的时候,我被告知有一个单独的用户有权使用(和其主目录)/ www目录中的文件。 另外,我做了一个MySQL用户。 这两个用户都有nologin属性。
我很less知道我在这里做什么,而且我主要是通过http:// localhost进行testing,所以我一直主要从我的用户帐户开始工作。
我想知道的是如下:
1)一般来说,这些用户为什么存在?
2)apache,mySQL或php是否访问这些用户的权限?
3)在什么情况下我可以访问这些用户的权限?
4)为什么他们需要nologin属性?
5)我不知道要询问的其他相关信息。
谢谢。
简单来说…
- 单独的用户确实是这样做的 – 它将事物分开,以便一个用户不能访问或修改另一个用户的文件,这取决于用户在文件上设置的权限。 许多守护进程(包括Apache)在特定用户帐户下运行 – 例如,Red Hat倾向于使用“apache”用户,而Debian使用“www-data”。 这意味着该守护进程与其他用户一样被对待 – 它不能访问不被root用户访问的文件
- Apache的确如此,因为它正在从文件系统读取文件,就像任何其他用户一样。 由于PHP通常作为Apache中的一个模块运行,因此它也受到相同的限制。 但是,MySQL有一个单独的authenticationscheme,所以本地用户和数据库用户之间没有暗示的相关性
- 如果您正在为您的网页内容创build一个单独的用户,那么您将访问该用户以修改该用户所拥有的文件(可能是您的网页内容)。
- 通过“nologin属性”我假设你的意思是壳设置为
/sbin/nologin – 这阻止了用户交互式login,即他们无法SSH服务器或login控制台。
- 说实话,这不是几行可以涵盖的东西。 互联网上有不less针对初学者的指南 – 阅读一些指南,并了解它!