用户nobody只保留给NFS。
上面的答案非常错误,因为它们假定这nobody
是一个“通用”匿名/来宾风格的用户ID。
在UNIX / Linux访问控制模型中,不存在匿名/来宾风格的用户ID,这是错误的建议:
- “ 共同运行的守护程序为
nobody
,特别是服务器,以限制可能由谁获得了他们的控制恶意用户可能造成的损害。 ”因为是如下:“ 然而,这项技术的有用性,如果超过减少这样运行一个守护程序,因为如果获得对一个守护程序的控制权,则将全部控制它们。
- “ 一个真实的例子是
memcached
(一个键值内存缓存/数据库/事物),它位于我的计算机上,我的服务器在该nobody
帐户下运行。为什么?因为它不需要任何权限就可以给它拥有对文件的写访问权的帐户只是不必要的风险。 ”
nobody
创建并保留了具有用户ID 65534 的用户名用于特定目的,并且仅应将其用于该目的:作为NFS树导出中“未映射”用户和用户ID的占位符。
也就是说,除非为NFS树导出设置了用户/标识映射,否则导出中的所有文件将显示为所拥有nobody
。这样做的目的是防止导入系统上的所有用户访问这些文件(除非他们具有“其他”权限),因为它们(除之外root
)都不能成为/ become nobody
。
因此,将其nobody
用于任何其他用途是一个非常糟糕的主意,因为其用途是成为任何人都不能访问的文件的用户名/用户ID。
Wiki条目也是非常错误的。
UNIX / Linux的做法是为每个需要单独访问控制域的“应用程序”或应用程序区域创建一个新帐户,并且永远不要nobody
在NFS之外重用。