Pitfalls
Under very old versions of sendmail (prior to V8.7), accidentally placing a space character between the
Oand the option letter wrongly causes sendmail to silently accept the space character as the option name. For example, the space inO A/etc/aliasesgives to the option “space” the argumentA/etc/aliases. Beginning with V8.7, a space option causes a multicharacter option name to be recognized (Section 24.3.2).Options are parsed from the top of the sendmail.cf file down. For most options, later declarations supersede earlier declarations. For example, if you try to change the location of the queue directory by placing the line
OQ/mail/spool/mqueueat the top of your sendmail.cf file, that change is masked (ignored) by the existence ofOQ/var/spool/mqueuelater in the file. Other options, such asAliasFile, add the new definition to the prior one.For the most part, command-line options supersede the sendmail.cf file options because the command line is parsed after the sendmail.cf file is parsed. One way to change the location of the aliases file (perhaps for testing) is with a command-line argument such as:
-OAliasFile=/tmp/aliases
For security reasons, however, not all command-line options are available to the ordinary user. (See Table 24-2 in Section 24.2.4 for a list of those that are available.)
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access