There’s no question that the more familiar you are with Unix, the better a Postfix administrator you’ll be. Postfix is very much a Unix program working in conjunction with the underlying operating system for many of its functions. If you’re new to Unix, you should study an introductory text. In the meantime, this section presents some fundamental concepts that you will need to understand to follow explanations in the book.
The list of recognized users on a system is stored in the /etc/passwd file. Every user should have a unique login name and user ID number (commonly written as uid or UID). The UID, not the user’s login name, is the important attribute for identity and ownership checks. The login name is a convenience for humans, and the system uses it primarily to determine what the UID is. Some Postfix configuration parameters require UIDs rather than login names when referring to user accounts. Postfix sometimes takes on the identify of different users. A process is said to be using the rights or privileges of that account when assuming its identity.
A pseudo-account is a normal Unix system account except that it does not permit logins. These accounts are used to perform administrative functions or to run programs under specific user privileges. Your system most likely came installed with several pseudo-accounts. Account names such as bin and daemon are common ones. Generally, these accounts prevent logins by using an invalid password and nonexistent home directories and login shells. For Postfix administration, you need at least one pseudo-account for Postfix processes to run under. You may need additional ones for other functions, such as mailing-list programs and filters.
Nearly all processes on a Unix system have a standard input stream
and a standard output stream when they start. They read data on their
standard input and write data on their standard output. Normally,
standard input is the keyboard and standard output is the monitor,
which is how users interact with running programs. Standard input and
output can be redirected so that programs can get input from, and send
output to, a file or another program. This is often how batch mode
programs operate. For the purpose of email, you should be aware of
standard input and output because your mail system may have to
interact with other programs over their standard inputs and outputs. A
mail filter program, for example, might accept the contents of an
email message on its standard input and send the revised contents to
its standard output. Programs usually also have a standard error
stream that, like standard output, is normally a user’s monitor, but
it can also be redirected. Standard input/output/error are often
written as stdin, stdout, and stderr. For more information, consult an
introductory book on Unix.
The administrative login on Unix systems is the root account. It is also referred to as the superuser account, and you should treat it carefully. You should log in as the root user only when its privileges are required to accomplish a particular task. Administering Postfix sometimes requires root privileges. If you do not have superuser access on your system, you cannot administer Postfix.
When working with an interactive shell, you are normally
greeted with a command prompt that indicates the system is ready for
you to enter a command. By convention, user command prompts are shown
as either the $ character or the
% character, while the
root prompt is presented as the # character. You should use the
root account only when it is necessary. In
examples in this book, a normal user prompt is shown as $, and that for root is
shown as #. If the example shows
the prompt as #, you know that you
must execute the command as root.
It is common usage in Unix to break long commands into
multiple lines with a backslash (\)
at the end of the line, which indicates that two or more lines
continue as if they were a single line. The continuation backslash can
be used at a command prompt and in shell scripts, and it is commonly
used in configuration files (but not in Postfix configuration
files—see Chapter 4). In this
book, lines that don’t fit on the page are continued with backslashes.
If you follow the examples, you can type lines exactly as shown with
the backslashes, or simply combine the continued lines into a single
one.
Documentation for Unix systems is kept in an online manual known as
manpages. You can read the
documentation for a particular item by issuing the man command with the item as its argument.
For example, to read about the mailq command, simply type:
$ man mailqA description of the command is presented on your screen, one page at a time. Press the spacebar to continue scrolling through the information.
Manpages have a standard organization showing the syntax of the command, all options, and descriptions of behavior and other context. Some users find manpages daunting, but you’ll do yourself a great service by getting comfortable with manpages. All Unix and Postfix commands as well as many other features are documented in manpages. See an introductory Unix text or your system documentation to learn more about manpages.