Welcome to WuJiGu Developer Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
271 views
in Technique[技术] by (71.8m points)

Nginx配置中user设置为nobody有什么用?

Nginx配置中有一个关于user的设置,看到有的配置为:

user nobody nobody;

这个对应的权限是怎样的呢?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

在许多Unix和Linux发行版中,nobody用户都是伪用户。根据Linux Standard Base,nobody用户及其组是可选的助记符用户和组。该用户旨在代表对系统具有最小权限的用户。在最佳情况下,不会将用户及其组分配给任何文件或目录(作为所有者)。该用户在其对应的组中(根据LSB)也称为“ nobody”,且不在其他任何组中。

在较早的Unixes和Linux发行版中,守护程序(例如Web服务器)是在nobody用户下调用的。如果恶意用户获得了对该守护程序的控制权,则他可以执行的损害仅限于该守护程序可以执行的操作。但是问题是,当有多个守护进程与nobody用户一起运行时,这不再有意义。这就是今天这样的守护程序拥有自己的用户的原因。

nobody 用户不应为其关联任何shell。不同的发行版以不同的方式处理该问题:有些引用会/sbin/nologin打印一条消息;有些引用/bin/false, 只是以1(false)为退出码;或只在禁用用户/etc/shadow表中存在。

根据Linux Standard Base,nobody用户是“由NFS使用”。实际上,NFS守护程序是仍然需要无人用户的少数几个。如果已挂载的NFS共享中文件或目录的所有者在本地系统上不存在,则将其替换为nobody用户及其组。

您可以仅通过root用户和chown更改nobody用户拥有的文件的权限。但是在托管NFS共享的计算机上,该用户可能存在,因此请当心。

参考:https://unix.stackexchange.co...


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to WuJiGu Developer Q&A Community for programmer and developer-Open, Learning and Share
...