我最近在 Amazon Lightsail 中的 Ubuntu 实例上安装了 nginx 1.13.1。
Ubuntu 版本是 16.04 Xenial OS。使用 Nginx.org 软件包存储库安装 Nginx。
安装后,默认的nginx.conf指定用户为:
user nginx;
我使用以下命令启动了 nginx:
sudo service nginx start
使用以下命令检查 nginx 的状态:
ps -ef | grep nginx
我发现工作进程归 nginx 用户所有。
现在根据网上的各种资源,人们建议使用“www-data”作为用户。
与上述场景相关的问题是:
nginx 和 www-data 用户的安全权限有什么区别吗?
如果更安全的话我是否应该将用户更改为“www-data”?
我是 Linux 和 nginx 的新手,因此任何帮助都将不胜感激。
答案1
不,仅仅通过更改进程所有者名称对安全性没有真正的影响。名称本身并不意味着任何权限或限制。在 Linux 中,您必须为该用户分配权限。名称只是一个标识符。如果您相信通过隐蔽性来实现安全性,您可以将所有此类默认值更改为更随机/个性化的默认值,只是为了减缓未来潜在的黑客,但这几乎不值得。他们只需查找新名称,而不是已经知道默认值。
所以不需要更改默认用户。
但当然,要注意该用户的权限,包括执行权限、文件读写权限等。这不是 Nginx 特有的,而是操作系统级别的,因此请阅读相关内容以对您的堆栈安全性更有信心。