Guu*_*uuk 53 users permissions group files
在我的服务器 (Synology DS212) 上,某些文件和文件夹具有nobody nobody
用户和组。这个用户和组的特点是什么?谁能写或读这个文件?
我怎样才能改变它?对于哪个用户和组?
cha*_*aos 61
在许多 Unix 和 Linux 发行版中,nobody 用户是一个伪用户。根据Linux 标准库,nobody 用户及其组是可选的助记符用户和组。该用户旨在代表对系统具有最少权限的用户。在最好的情况下,用户及其组没有分配给任何文件或目录(作为所有者)。该用户位于他的相应组中,该组(根据 LSB)也称为“nobody”,并且不属于其他组。
在早期的 Unix 和 Linux 发行版中,守护程序(例如网络服务器)在 nobody 用户下调用。如果恶意用户获得了对此类守护程序的控制权,则他可以执行的损害仅限于守护程序可以执行的操作。但问题是,当有多个守护进程与 nobody 用户运行时,这不再有意义。这就是为什么今天这样的守护进程有自己的用户。
没有分配给nobody 用户的shell。不同的发行版以不同的方式处理:有些是指/sbin/nologin
打印消息;有些是指/bin/false
简单地以 1 (false) 退出;或者有些只是禁用/etc/shadow
.
根据 Linux 标准库,nobody 用户是“由 NFS 使用”。事实上,NFS 守护进程是少数仍然需要nobody 用户的守护进程之一。如果已挂载 NFS 共享中的文件或目录的所有者在本地系统中不存在,则该所有者将替换为 nobody 用户及其组。
您只需使用 root 用户和chown
. 但是在托管 NFS 共享的机器上,该用户可能存在,所以要小心。
我也使用 Synology 系统。他们在 nobody 用户下运行 apache 网络服务器。
小智 7
可以登录的用户nobody
可以更改这些文件,但通常系统已设置,因此这是不可能的。在我的基于 debian 的系统上,/etc/password
文件中的条目是:
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
Run Code Online (Sandbox Code Playgroud)
并/usr/sbin/nologin
给出:
This account is currently not available.
Run Code Online (Sandbox Code Playgroud)
您只能以 root 用户身份更改此设置,因为通常没有其他人是该组的成员nobody
。但是我怀疑你是否应该这样做。通常,这些文件是有意获得此所有权的。