From Wikipedia, the free encyclopedia
In many Unix variants, "nobody" is the conventional name of a user account which owns no files, is in no privileged groups, and has no abilities except those which every other user has. Some systems also define an equivalent group "nogroup".
- The pseudo-user "nobody" and group "nogroup" are used, for example, in the NFSv4 implementation of Linux by idmapd, if a user or group name in an incoming packet does not match any known username on the system.
- It was once common to run daemons as nobody, especially servers, in order to limit the damage that could be done by a malicious user who gained control of them. However, the usefulness of this technique is reduced if more than one daemon is run like this, because then gaining control of one daemon would provide control of them all. The reason is that nobody-owned processes have the ability to send signals to each other and even debug each other, allowing them to read or even modify each other's memory. Instead, modern practice, as recommended by the Linux Standard Base, is to create a separate pseudo-user account for each daemon, which provides better security isolation.
- Linux Standard Base, Core Specification 3.1 section 21.2: User & Group Names, linux-foundation.org