In general, ais a program that's running: a shell, the ls command, the vi editor, and so on. In order to , , or manipulate it in any other way, you have to be the process' owner (i.e., the user who started it). In order to delete a job from a , you must be the user who started it.
As you might guess, there needs to be a way to circumvent all of this security. Someone has to be able to kill runaway programs, modify the system's files, and so on. Under UNIX, a special user known as root (and commonly called the "superuser") is allowed to do anything.
On any system, the root user should always have a password. The system administrator should be very careful about giving out the superuser password and can't be blamed if he won't give the superuser password to anyone. Historically, UNIX systems have tended to be very lax: at many sites, all the users know the superuser password and don't hesitate to use it whenever they have the slightest problem.
Common as it may be, this is a very bad practice - systems where
everyone knows the superuser password have no security whatsoever.
People can read each other's mail, trample all over each other's
files, scribble on disks by accident, or mail all of the company's
proprietary documentation to a competitor (and delete the log files so
there's no record that they did it).
Worse, even if every user is an angel, being superuser makes it easy
for someone to cause big problems accidentally - for instance, typing
In this book, we'll assume that you don't have the superuser password. Almost all of what we describe can be done without becoming superuser.