use*_*380 64 permissions users webserver
我正在研究如何在 Ubuntu 16.04 上使用 uWSGI 和 Nginx 服务 Django 应用程序。在文章的“为 uWSGI 创建 systemd 单元文件”的末尾,他们讨论了www-data用户。这是什么,为什么重要?
L. *_*mes 63
为了安全。
这些文件不是世界可写的。它们仅限于文件的所有者进行写入。
Web 服务器必须在特定用户下运行。该用户必须存在。
如果它在 root 下运行,那么所有文件都必须可以被 root 访问,而用户需要是 root 才能访问这些文件。 由于 root 是所有者,受感染的 Web 服务器将可以访问您的整个系统。 通过指定特定 ID,受感染的 Web 服务器将只能完全访问其文件而不是整个服务器。
如果您决定以不同的用户 ID 运行它,则该用户需要是文件的有效所有者才能获得适当的权限。将系统范围文件的个人所有权归于您的个人帐户可能会令人困惑。
创建特定用户可以更轻松地识别文件,并且可以一致地识别chown添加到站点的新文件和文件夹的ID 。
所有者的用户 ID或名称无关紧要。无论选择或决定什么,都必须在 Web 服务器配置文件中进行配置。
默认情况下,所有者www-data的配置在 Apache2 的 Ubuntu 配置中。由于这是默认配置,您可以方便地了解 Web 文件所需的所有权。如果更改它,则必须更改站点中的文件以匹配。
我不运行Nginx,但由于它在 Ubuntu 存储库中,我确定它已经www-data以默认配置进行了测试。
mur*_*uru 34
www-data是默认情况下 Ubuntu(例如 Apache、nginx)上的 Web 服务器用于正常操作的用户。Web 服务器进程可以访问任何可以访问的文件www-data。它没有其他重要性。
从base-passwd文档(/usr/share/doc/base-passwd/users-and-groups.txt.gz):
一些网络服务器作为 www-data 运行。Web 内容不应归该用户所有,否则受感染的 Web 服务器将能够重写网站。Web 服务器写出的数据将归 www-data 所有。