By default, Postfix configuration files are in /etc/postfix.
The two most important files are main.cf and master.cf; these files
must be owned by root. Giving someone else write permission to
main.cf or master.cf (or to their parent directories) means giving
root privileges to that person.
In /etc/postfix/main.cf you will have to set up a minimal number
of configuration parameters. Postfix configuration parameters
resemble shell variables, with two important differences: the first
one is that Postfix does not know about quotes like the UNIX shell
does.
You specify a configuration parameter as:
/etc/postfix/main.cf:
parameter = value
and you use it by putting a "$" character in front of its name:
/etc/postfix/main.cf:
other_parameter = $parameter
You can use $parameter before it is given a value (that is the
second main difference with UNIX shell variables). The Postfix
configuration language uses lazy evaluation, and does not look at
a parameter value until it is needed at runtime.
Postfix uses database files for access control, address rewriting
and other purposes. The
DATABASE_README file gives an introduction
to how Postfix works with Berkeley DB, LDAP or SQL and other types.
Here is a common example of how Postfix invokes a database:
/etc/postfix/main.cf:
virtual_alias_maps = hash:/etc/postfix/virtual
Whenever you make a change to the main.cf or master.cf file,
execute the following command as root in order to refresh a running
mail system:
# postfix reload