Advanced: what is a user, really?
Users and groups are one place where something quite wonderful about Unix and Linux can be seen clearly: there’s very little magic here.
A Linux user is really just a User ID (UID), which is a simple numerical representation of a user (an unsigned 32-bit integer). The root
user’s UID is 0. All other users have a UID larger than 0. The same goes for groups.
This information is not stored in some secret location, in some binary format, or some proprietary data structure that only the operating system can work with: users and groups are defined in plaintext files, which are traditionally modified using the few simple commands we’ve covered here.
That simplicity and lack of magic means that mere mortals (such as a panicked developer with just a faded memory of this chapter) can quickly find out the state of users and groups on a running system, troubleshooting application errors that may come from an incorrectly prepared...