Nginx:用户 nginx 和 www-data 在安全权限方面的区别?

Jay*_*Jay 5 nginx

我最近在 Amazon Lightsail 的 Ubuntu 实例上安装了 nginx 1.13.1。

Ubuntu 版本是 16.04 Xenial OS。Nginx 是使用 Nginx.org 包存储库安装的。

安装后,默认的 nginx.conf 指定用户为:

user nginx;
Run Code Online (Sandbox Code Playgroud)

我使用以下命令启动了 nginx:

sudo service nginx start
Run Code Online (Sandbox Code Playgroud)

使用以下命令检查 nginx 的状态:

ps -ef | grep nginx
Run Code Online (Sandbox Code Playgroud)

我发现工作进程归 nginx 用户所有。

现在,根据在线提供的各种资源,人们建议使用“www-data”作为用户。

我与上述场景相关的查询是:

  1. nginx 和 www-data 用户的安全权限有什么区别吗?

  2. 如果更安全,我应该将用户更改为“www-data”吗?

我是 Linux 和 nginx 的新手,所以任何帮助将不胜感激。

Jay*_*Tee 8

不,仅更改进程所有者名称在安全性方面没有真正的区别。该名称本身并不意味着任何权限或限制。在 Linux 中,您必须为该用户分配权限。名称只是一个标识符。如果您相信通过默默无闻实现安全性,您可以将所有这些默认设置更改为更随机/个性化的内容,只是为了减缓未来潜在的黑客攻击,但这几乎不值得。他们只需查找新名称,而不必知道默认名称。

所以不需要,不需要更改默认用户。

但是,当然,请注意该用户的权限,包括执行权限、文件读写权限等。这不是 Nginx 特有的,而是操作系统级别的,因此请仔细阅读该权限,以便对堆栈的安全性更有信心。