UNIX has always enabled multiple users to work independently and simultaneously on the same computer ”right back to the earliest UNIX operating systems, born at the end of the 1960s. Each user in possession of a valid user account could log in to the computer (by supplying a username and password) and work with the desired applications. Users would access the system via a system console (which was normally reserved for administrative tasks such as backups ) or from one of a number of serial terminals (these usually consisted of a keyboard and a monitor, or perhaps even a line printer). Even though networking wasn t part of the original UNIX design, it became available quite early, giving users the ability to interact with a UNIX system from anywhere : locally, via the telephone system and a modem, or via a network connection.
Linux inherited its multiuser nature from those first UNIX systems, just as it inherited a surprising number of other capabilities, such as permissions and file protection. These features haven t changed much over time. What has changed is the toolset ”tasks such as adding a new user account are now easier than they ve ever been. The traditional techniques (using command line tools, or even employing a text editor to alter the relevant configuration files) have been enriched with graphical tools that greatly simplify administrative chores. Fedora Core is just one of a number of Linux distributions that have made developments in this direction.
If you have a single machine that is meant mostly for exclusive use, and you re not planning to share its resources with anyone else, the world of administering user accounts and permissions may seem irrelevant to you. However, the notion of multiple user accounts is quite important in Linux, as it is in many other modern operating systems (such as Mac OS X, other UNIX derivatives such as the BSD family, and Microsoft Windows NT, 2000, or XP).
Whether you share your machine with other users, or it s exclusively for your own personal use, each action you request of it will be denied or allowed in accordance with specific policies. For example, some user accounts will be allowed to install applications, execute certain programs, and access devices such as a CD-ROM drive, while other accounts will not.
Understanding how to manage user accounts and control permissions is a definite advantage when learning Linux. For example, it will allow you to share your computer with other people without compromising privacy; it will help you to protect yourself from accidental damage (such as accidental deletion of system files); it will help you to avoid virus problems; and it will help you prevent secondary users from cluttering the system with unnecessary software installations.
This chapter does the following:
Formally introduces the notion of the root user, normal users, groups, and home directories
Demonstrates how to create, modify, and delete users and groups
Looks at various strategies for granting and denying access to resources
Reviews a number of valuable commands that are particularly useful when dealing with user accounts
Shows how to configure your Fedora Core installation so that you can carry out certain administrative tasks via a non-administrator user account