UNIX: The root user

  • UNIX systems, and certainly including modern ones like Linux and FreeBSD, have traditionally had a special account called root. This is literally the root (excuse the pun) of the term from the earliest days of computing. The root account is the "owner" of a UNIX system, able to do absolutely everything and therefore, very important. The root user is sometimes called the superuser.

    Of course, like most things in UNIX, the name root is simply a convention, but one that is effectively ubiquitous. Could you rename it, of course. Could you find a system somewhere that uses a different name, in theory. But most of what we learn is convention as with UNIX, anything can be changed either distro by distro, or customized by the end users.

    The root user has total power on the system and must be trusted. Anyone with access to the root account can access any file, make any change, even act as any other users. Root is all powerful and the only account really needed on any UNIX system, although normally you will find many others.

    In the "olden days of UNIX yore", it was common for root to have a shared password or other insecure mechanism for dealing with users needing "root access" to work on a system. Today, many mechanism exist, most of which still use the root account to some degree, to make UNIX much more flexible and secure.

    Understanding the tradition and purpose of root is important and we will still often use it today. But its role has changed some over time and will be dependent on the individual OS or distro that you are using and what security mechanisms you feel are useful for your situation. (A common system today is the sudo system for limiting root access which we will learn about separately.)

    Some UNIX distro today expose root natively, some shield it by default. So be prepared that it may not always be used as you expect.

    Examples: CentOS and RHEL will, by default, ask for a root password on installation and provide standard access to the account. Ubuntu, conversely, sets no password for root and requires you to use other security mechanisms (such as sudo) to access root capabilities.

    Root's home directory is often separate from the home directories of other users. On Linux the convention is for root's home directory to simply be /root. FreeBSD does the same. Solaris, oddly, sets the standard root home directory to just use the system's root at /.

    Part of a series on Linux Systems Administration by Scott Alan Miller

  • @scottalanmiller said in UNIX: The root user:

    as for a root password


  • Fixed