This chapter looks at what happens during a Linux boot. It examines the processes that take place
and the configuration files that are read. Booting is a critical part of the operation of a server. The
boot process brings all of the network hardware online and starts all of the network daemon
processes when the system is powered−up. If the server will not boot, it is unavailable to all of the
users and computers that depend on it. For this reason, it is essential that the administrator of a
network server understand the boot process and the configuration files involved in that process.
After all, you're the person who maintains those configuration files and who is responsible for
recovering the system when it won't boot.
The termbootcomes frombootstrap loader, which in turn comes from the old saying "pull yourself
up by your bootstraps." The meaning of this expression is that you must accomplish everything on
your own without any outside help. This is an apt term for a system that must start from nothing and
finish running a full operating system. When the boot process starts, there is nothing in RAM—no
program to load the system. The loader that begins the process resides in non−volatile memory. On
PC systems, this means that the loader is part of the ROM BIOS.
Booting a Linux PC is a multistep procedure. It involves basic PC functions as well as Linux
processes. This complex process begins in the PC ROM BIOS; it starts with the ROM BIOS
program that loads the boot sector from the boot device. The boot sector either contains or loads a
Linux boot loader, which then loads the Linux kernel. Finally, the kernel starts the init process, which
loads all of the Linux services. The next few sections discuss this process in detail.
492 trang |
Chia sẻ: banmai | Lượt xem: 2521 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Linux network servers, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ct]
confTO_CONTROL Sets the maximum amount of time allowed for a control socket
transaction to complete. The default is two minutes (2m). [Timeout.control]
confTO_DATABLOCK Sets the maximum time to wait for a block during DATA
phase. Defaults to 1h. [Timeout.datablock]
confTO_DATAFINAL Sets the maximum time to wait for a response to the
terminating ".". Defaults to 1h. [Timeout.datafinal]
confTO_DATAINIT Sets the maximum time to wait for a DATA command response.
Defaults to 5m. [Timeout.datainit]
confTO_FILEOPEN Sets the maximum time to wait for a file open. Defaults to 60s.
[Timeout.fileopen]
confTO_HELO Sets the maximum time to wait for a HELO or EHLO response.
Defaults to 5m. [Timeout.helo]
confTO_HOSTSTATUS Sets the timer for stale host status information. Defaults to
30m. [Timeout.hoststatus]
confTO_ICONNECT Sets the maximum time to wait for the very first connect
attempt to a host. [Timeout.iconnect]
confTO_IDENT Sets the maximum time to wait for an IDENT query response.
Defaults to 30s. [Timeout.ident]
confTO_INITIAL Sets the maximum time to wait for the initial connect response.
Defaults to 5m. [Timeout.initial]
confTO_MAIL Sets the maximum time to wait for a MAIL command response.
Defaults to 10m. [Timeout.mail]
confTO_MISC Sets the maximum time to wait for other SMTP command responses.
Defaults to 2m. [Timeout.misc]
confTO_QUEUERETURN_NONURGENT Sets the "Undeliverable mail" timeout for
low−priority messages. [Timeout.queuereturn.non−urgent]
confTO_QUEUERETURN_NORMAL Sets the "Undeliverable mail" timeout for
normal−priority messages. [Timeout.queuereturn.normal]
confTO_QUEUERETURN_URGENT Sets the "Undeliverable mail" timeout for
459
urgent−priority messages. [Timeout.queuereturn.urgent]
confTO_QUEUERETURN Sets the time until a message is returned from the queue
as undeliverable. Defaults to 5d. [Timeout.queuereturn]
confTO_QUEUEWARN_NONURGENT Sets the time until a "still queued" warning
is sent for low−priority messages. [Timeout.queuewarn.non−urgent]
confTO_QUEUEWARN_NORMAL Sets the time until a "still queued" warning is
sent for normal priority messages. [Timeout.queuewarn.normal]
confTO_QUEUEWARN_URGENT Sets the time until a "still queued" warning is
sent for urgent priority messages. [Timeout.queuewarn.urgent]
confTO_QUEUEWARN Sets the time until a "still queued" warning is sent about a
message. Defaults to 4h. [Timeout.queuewarn]
confTO_QUIT Sets the maximum time to wait for a QUIT command response.
Defaults to 2m. [Timeout.quit]
confTO_RCPT Sets the maximum time to wait for a RCPT command response.
Defaults to 1h. [Timeout.rcpt]
confTO_RESOLVER_RETRANS Defines, in seconds, the retransmission timer for
all resolver lookups. [Timeout.resolver.retrans]
confTO_RESOLVER_RETRANS_FIRST Defines, in seconds, the retransmission
t imer for the resolver lookup for the f i rst at tempt to del iver a message.
[Timeout.resolver.retrans.first]
confTO_RESOLVER_RETRANS_NORMAL Def ines , in seconds, the
retransmission timer for all resolver lookups after the first attempt to deliver a
message. [Timeout.resolver.retrans.normal]
confTO_RESOLVER_RETRY Defines the total number of times to retry a resolver
query. [Timeout.resolver.retry]
confTO_RESOLVER_RETRY_FIRST Defines the number of times the resolver
query for the first delivery attempt is retried. [Timeout.resolver.retry.first]
confTO_RESOLVER_RETRY_NORMAL Defines the number of times to retry
resolver queries after the first delivery attempt. [Timeout.resolver.retry.normal]
confTO_RSET Sets the maximum time to wait for a RSET command response.
Defaults to 5m. [Timeout.rset]
confTRUSTED_USER Defines the user who controls the sendmail daemon, and
owns the f i l es c rea ted by sendmai l . Do no t con fuse th i s op t ion w i th
confTRUSTED_USERS. [TrustedUser]
confTRUSTED_USERS Defines trusted usernames to add to root, uucp, and
daemon.
460
confTRY_NULL_MX_LIST Connects to the remote host directly if the MX points to
the local host and it is set to True. Defaults to False. [TryNullMXList]
confUNSAFE_GROUP_WRITES Doesn't reference programs or files from
group−wr i tab le : inc lude: and . forward f i les i f True. Defau l ts to Fa lse.
[UnsafeGroupWrites]
c o n f U S E R D B _ S P E C D e f i n e s t h e p a t h o f t h e u s e r d a t a b a s e f i l e .
[UserDatabaseSpec]
confUSE_ERRORS_TO Delivers errors using the Errors−To: header if True.
Defaults to False. [UserErrorsTo]
confUUCP_MAILER Defines the default UUCP mailer. Defaults to uucp−old.
confWORK_CLASS_FACTOR Defines the factor used to favor high−priority jobs.
Defaults to 1800. [ClassFactor]
confWORK_RECIPIENT_FACTOR Defines the factor used to lower the priority of a
job for each additional recipient. Defaults to 30000. [RecipientFactor]
confWORK_TIME_FACTOR Defines the factor used to lower the priority of a job for
each delivery attempt. Defaults to 90000. [RetryFactor]
define macros are the most common macros in the m4 source files. The next most commonly used
macro is the FEATURE macro.
FEATURE
The FEATURE macro processes m4 source code from the feature directory. Source files in that
directory define optional sendmail features. The syntax of the FEATURE macro is
FEATURE(name, [argument])
The argument is optional. If an argument is passed to the source file, it is used by the source file to
generate code for the sendmail.cf file. For example, the following generates the code for accessing
the mailertable, and defines that table as being a dbm database located in the file /usr/
lib/mailertable:
FEATURE(mailertable, dbm /usr/lib/mailertable)
The available features and their purposes are listed in Table C.2.
Table C.2: Optional sendmail Features
Name Purpose
accept_unqualified_senders Allows network mail from addresses that do not include
a valid hostname.
accept_unresolvable_domains Accepts mail from hosts that are unknown to DNS.
access_db Enables the use of the access database.
461
allmasquerade Also masquerades recipient addresses.
always_add_domain Adds the local hostname to all locally delivered mail.
bestmx_is_local Accepts mail addressed to a host that lists the local
system as its MX server as local.
bitdomain Uses a table to map Bitnet hosts to Internet addresses.
blacklist_recipients Filters incoming mail based on values set in the access
database.
delay_checks Delay the check_mail and check_relay rulesets until
check_rcpt is called.
dnsbl Reject mail from hosts listed in a DNS−based rejection
list. Replaces rbl.
domaintable Uses a domain table for domain name mapping.
generics_entire_domain Map domain names identified in class G through the
genericstable.
genericstable Uses a table to rewrite local addresses.
ldap_routing Enable LDAP−based e−mail routing.
limited_masquerade Only masquerade hosts listed in $=M.
local_lmtp Uses mail.local with LMTP support.
local_procmail Uses procmail as the local mailer.
loose_relay_check Disables validity checks for addresses that use the %
hack.
mailertable Routes mail using a mailer table.
masquerade_entire_domain Masquerades all hosts within the masquerading
domains.
masquerade_envelope Masquerades the envelope sender address in addition
to the header sender address.
no_default_msa Allows the default configuration of the Message
Submission Agent to be overridden by the
DAEMON_OPTIONS macro.
nocanonify Doesn't convert names with $[ ... $] syntax.
nodns Doesn't include DNS support.
nouucp Doesn't include UUCP address processing.
nullclient Forwards all mail to a central server.
Name Purpose
promiscuous_relay Relays mail from any site to any site.
rbl Enables use of the Realtime Blackhole List server.
Replaced by dnsbl.
redirect Supports the .REDIRECT pseudo−domain.
relay_based_on_MX Relays mail for any site whose MX points to this server.
relay_entire_domain Relays mail for any host in your domain.
relay_host_only Relays mail only for hosts listed in the access database.
relay_local_from Relays mail if the source is a local host.
relay_mail_from Relays mail if the sender is listed as RELAY in the
access database.
smrsh Uses smrsh as the prog mailer.
462
stickyhost Treats user differently from user@local.host.
use_ct_file Loads $=t from the file defined by confCT_FILE.
use_cw_file Loads $=w from the file defined by confCW_FILE.
uucpdomain Uses a table to map UUCP hosts to Internet addresses.
virtuser_entire_domain Maps entire domain names through the virtusertable.
virtusertable Maps virtual domain names to real mail addresses.
The use_cw_file and the use_ct_file features are equivalent to Fw/etc/mail/local−host−names and
Ft/etc/mail/trusted−users commands in the sendmail.cf file. See Chapter 5 for descriptions of host
aliases ($=w) and trusted users ($=t). The redirect feature is also covered in Chapter 5.
Several FEATURE macros remove unneeded lines from the sendmail.cf file. nouucp removes the
code that handles UUCP addresses for systems that do not have access to UUCP networks, and
nodns removes the code for DNS lookups for systems that do not have access to DNS, or do not
want to use DNS. nocanonify disables the code that converts nicknames and IP addresses into
hostnames. Finally, the nullclient feature strips everything out of the configuration, except for the
capability to forward mail to a single mail server via a local SMTP link. The name of that mail server
is provided as the argument on the nullclient command line, for example, FEATURE(nullclient,
big.isp.net) forwards all mail to big.isp.net without any local mail processing.
Several features relate to mail relaying and masquerading. They are stickyhost, allmasquerade,
limited_masquerade, and masquerade_entire_domain. All of these features are covered in the
DOMAIN section later in this appendix.
Several of the features define databases that are used to perform special address processing. All of
these features accept an optional argument that defines the database. (See the sample mailertable
command at the beginning of this section for an example of defining the database with the optional
argument.) If the optional argument is not provided, the database description always defaults to
hash −o /etc/filename, where filename matches the name of the feature. For example, mailertable
defaults to the definition hash −o /etc/mailertable. The database features are as follows:
access_db Controls mail−relaying and delivery. The access file contains two fields:
an e−mail address, which is the key, and an action taken for mail containing that
address. The access database is covered in Chapter 11, "More Mail Services."
mailertable Maps host and domain names to specific mailer:host pairs. The mailer,
host, user triple is returned by ruleset parse based on the delivery address. The
mailertable file allows you to define the mailer and the host of the delivery triple
based on the domain name in the delivery address. If the host or domain name in the
delivery addresses matches a key field in the mailertable database, it returns the
mailer and host for that address. The format of a mailertable entry is
domain−name mailer:host
where domain−name is either a full hostname (host plus domain) or a domain name.
If a domain name is used, it must start with a dot (.), and it will match every host in
the specified domain. mailer is the internal sendmail.cf mailer name of the mailer that
handles mail for the specified domain, and host is the hostname of the mailer server
that handles mail for that domain.
domaintable Converts an old domain name to a new domain name. The old name
463
is the key, and the new name is the value returned for the key.
bitdomain Converts a Bitnet hostname to an Internet hostname. The Bitnet name is
the key, and the Internet hostname is the value returned. The bitdomain program that
comes with the sendmail distribution can be used to build this database. Bitnet is
obsolete.
uucpdomain Converts a UUCP name to an Internet hostname. The key is the
UUCP hostname, and the value returned is the Internet hostname. This is useful only
if you still have users who address e−mail using old UUCP addresses.
genericstable Converts a sender e−mail address. The key to the database is either
a username or a full e−mail address (username and hostname). The value returned
by the database is the new e−mail address. (See Chapter 5 for an example of using
the genericstable.) If you use the genericstable and you don't use masquerading, use
generics_domain and generics_ domain_file to get the same functions normally
provided by masquerade_domain and masquerade_domain_file.
virtusertable Aliases incoming e−mail addresses. Essentially, this is an extended
alias database for aliasing addresses that are not local to this host. The key to the
database is a full e−mail address or a domain name. The value returned by the
database is the recipient address to which the mail is delivered. If a domain name is
used as a key, it must begin with an at sign (@). Mail addressed to any user in the
specified domain is sent to the recipient defined by the virtusertable database. Any
hostname used as a key in the virtusertable database must also be defined in class
w.
Some features are important in the fight against spam because they help control the mail a server
d e l i v e r s o r f o r w a r d s o n f o r d e l i v e r y . T h e s e a r e a c c e p t _ u n q u a l i f i e d _ s e n d e r s ,
accept_unresolvable_domains, access_db, blacklist_recipients, and dnsbl. All of these are covered
in the section on controlling spam in Chapter 11.
Two of the remaining FEATURE commands relate to domains. The always_add_domain macro
makes sendmail add the local domain name to all locally delivered mail, even to those pieces of
mail that would normally have just a username as an address. The bestmx_is_local feature accepts
mail addressed to a host that lists the local host as its preferred MX server as if the mail were local
mail. If this feature is not used, mail bound for a remote host is sent directly to the remote host even
if its MX record lists the local host as its preferred MX server. The bestmx_is_local feature should
not be used if you use a wildcard MX record for your domain.
The last two features are used to select optional programs for the local and the prog mailers. local_
procmail selects procmail as the local mailer. Provide the path to procmail as the argument in the
FEATURE command. The smrsh feature selects the SendMail Restricted SHell (smrsh) as the prog
mailer. smrsh provides improved security over /bin/sh, which is often used as the prog mailer.
Provide the path to smrsh as the argument in the FEATURE command.
The FEATURE commands discussed in this section and the define macros discussed previously
are used to build the m4 source files. The next few sections of this appendix describe the purpose
and structure of the OSTYPE, DOMAIN, and MAILER source files.
464
OSTYPE
OSTYPE points to the m4 source file that contains the operating system specific information for this
configuration. This required file is examined in detail in Chapter 5.
Although all m4 macros can be used in OSTYPE source files, Table C.3 lists the define parameters
most frequently associated with the OSTYPE file and the function of each parameter. If the
parameter has a default value, it is shown enclosed in square brackets after the parameter's
functional description.
Table C.3: OSTYPE defines
Parameter Function
ALIAS_FILE Name of the alias file. [/etc/aliases]
CYRUS_BB_MAILER_ARGS cyrusbb mailer arguments. [deliver
−e −m $u]
CYRUS_BB_MAILER_FLAGS Flags added to lsDFMnP for the cyrusbb mailer.
CYRUS_MAILER_ARGS cyrus mailer arguments. [deliver −e −m $h −− $u]
CYRUS_MAILER_FLAGS Flags added to lsDFMnP for the cyrus mailer.
[A5@]
CYRUS_MAILER_MAX Maximum size message for the cyrus mailer.
CYRUS_MAILER_PATH Path to the cyrus mailer. [/usr/cyrus/bin/ deliver]
CYRUS_MAILER_USER User and group used to the cyrus mailer.
[cyrus:mail]
DSMTP_MAILER_ARGS dsmtp mailer arguments. [IPC $h]
ESMTP_MAILER_ARGS esmtp mailer arguments. [IPC $h]
FAX_MAILER_ARGS FAX mailer arguments. [mailfax $u
$h $f]
FAX_MAILER_MAX Maximum size of a FAX. [100000]
FAX_MAILER_PATH Path to the FAX program. [/usr/local/lib/fax/
mailfax]
HELP_FILE Name of the help file. [/usr/lib/sendmail.hf]
LOCAL_MAILER_ARGS Arguments for local mail delivery. [mail
−d $u]
LOCAL_MAILER_CHARSET Character set for local 8−bit MIME mail.
LOCAL_MAILER_DSN_DIAGNOSTIC_ CODE The delivery status notification code used for local
mail. [X−Unix]
LOCAL_MAILER_EOL The end−of−line character for local mail.
LOCAL_MAILER_FLAGS Local mailer flags added to lsDFM. [rmn]
LOCAL_MAILER_MAX Maximum size of local mail.
LOCAL_MAILER_MAXMSG The maximum number of messages delivered with
a single connection.
LOCAL_MAILER_PATH The local mail delivery program. [/bin/mail]
LOCAL_SHELL_ARGS Arguments for the prog mail. [sh −c $u]
LOCAL_SHELL_DIR Directory that the shell should run. [$z:/]
LOCAL_SHELL_FLAGS Flags added to lsDFM for the shell mailer. [eu]
465
LOCAL_SHELL_PATH Shell used to deliver piped e−mail. [/bin/sh]
MAIL11_MAILER_ARGS mail11 mailer arguments. [mail11 $g $x $h $u]
MAIL11_MAILER_FLAGS Flags for the mail11 mailer. [nsFx]
Parameter Function
MAIL11_MAILER_PATH Path to the mail11 mailer. [/usr/etc/mail11]
PH_MAILER_ARGS phquery mailer arguments.
[phquery −− $u]
PH_MAILER_FLAGS Flags for the phquery mailer. [ehmu]
PH_MAILER_PATH Path to the phquery program. [/usr/local/etc/
phquery]
POP_MAILER_ARGS POP mailer arguments. [pop $u]
POP_MAILER_FLAGS Flags added to lsDFM for the POP mailer. [Penu]
POP_MAILER_PATH Path of the POP mailer. [/usr/lib/
mh/spop]
PROCMAIL_MAILER_ARGS procmail mailer arguments. [procmail −m $h $f $u]
PROCMAIL_MAILER_FLAGS Flags added to DFMmn for the procmail mailer.
[Shu]
PROCMAIL_MAILER_MAX Maximum size message for the procmail mailer.
PROCMAIL_MAILER_PATH Path to the procmail program. [/usr/local/bin/
procmail]
QPAGE_MAILER_ARGS qpage mailer arguments. [qpage −10
−m −P$u]
QPAGE_MAILER_FLAGS Flags for the qpage mailer. [mDFMs]
QPAGE_MAILER_MAX Maximum qpage mailer message size. [4096]
QPAGE_MAILER_PATH Path of the qpage mailer. [/usr/local/bin/qpage]
QUEUE_DIR Directory containing queue files. [/var/spool/
mqueue]
RELAY_MAILER_ARGS relay mailer arguments. [IPC $h]
RELAY_MAILER_FLAGS Flags added to mDFMuX for the relay mailer.
RELAY_MAIL_MAXMSG The maximum number of messages for the relay
mailer delivered by a single connection.
SMTP8_MAILER_ARGS smtp8 mailer arguments. [IPC $h]
SMTP_MAILER_ARGS smtp mailer arguments. [IPC $h]
SMTP_MAILER_CHARSET Character set for SMTP 8−bit MIME mail.
SMTP_MAILER_FLAGS Flags added to mDFMUX for all smtp mailers.
SMTP_MAILER_MAX Maximum size of messages for all smtp mailers.
SMTP_MAIL_MAXMSG The maximum number of smtp messages delivered
by a single connection.
STATUS_FILE Name of the status file. [/etc/sendmail.st]
USENET_MAILER_ARGS Arguments for the usenet mailer. [−m −h −n]
USENET_MAILER_FLAGS usenet mailer flags. [rlsDFMmn]
USENET_MAILER_MAX Maximum size of usenet mail messages. [100000]
USENET_MAILER_PATH Program used for news. [/usr/lib/
news/inews]
UUCP_MAILER_ARGS
466
UUCP mailer arguments. [uux − −r −z −a$g −gC
$h!rmail ($u)]
UUCP_MAILER_CHARSET Character set for UUCP 8−bit MIME mail.
UUCP_MAILER_FLAGS Flags added to DFMhuU for the UUCP mailer.
UUCP_MAILER_MAX Maximum size for UUCP messages. [100000]
UUCP_MAILER_PATH Path to the UUCP mail program. [/usr/bin/uux]
DOMAIN
The DOMAIN macro identifies the m4 source file that contains configuration information specific to
the local domain. Chapter 5 provides a detailed example of creating a domain source file and then
calling that file with the DOMAIN macro.
Table C.4 lists the define macros that commonly appear in DOMAIN source files. All of these define
mail relay hosts. The value provided for each parameter is either a hostname (that is, the name of a
mail relay server); or a mailer:hostname pair, where mailer is an internal mailer name and hostname
is the name of the mail relay server. If only a hostname is used, the mailer defaults to relay, which is
the name of the SMTP relay mailer.
Table C.4: Mail Relay defines
Parameter Function
UUCP_RELAY Server for UUCP−addressed e−mail.
BITNET_RELAY Server for BITNET−addressed e−mail.
DECNET_RELAY Server for DECNET−addressed e−mail.
FAX_RELAY Server for mail to the .FAX pseudo−domain. The fax mailer overrides this
value.
LOCAL_RELAY Server for unqualified names. This is obsolete.
LUSER_RELAY Server for local names that really aren't local.
MAIL_HUB Server for all incoming mail.
SMART_HOST Server for all outgoing mail.
The precedence of the relays defined by these parameters is from the most specific to the least
specific. If both the UUCP_RELAY and the SMART_HOST relay are defined, the UUCP_ RELAY is
used for outgoing UUCP mail, even though the SMART_HOST relay is defined as handling "all"
outgoing mail. If you define both LOCAL_RELAY and MAIL_HUB, use the FEATURE(stickyhost)
command. When the stickyhost feature is specified, LOCAL_RELAY handles all local addresses
that do not have a host part, and MAIL_HUB handles all local addresses that do have a host part. If
stickyhost is not specified, and both relays are defined, the LOCAL_RELAY is ignored, and
MAIL_HUB handles all local addresses.
In addition to the defines shown in Table C.3, macros that relate to masquerading and relaying also
appear in the DOMAIN source file. The macros are as follows:
EXPOSED_USER(username) Disables masquerading when the user portion of the
sender address matches username. Some usernames, such as root, occur on many
systems, and therefore are not unique across a domain. For those usernames,
converting the host portion of the address makes it impossible to sort out where the
467
message really came from, and makes replies impossible. This command prevents
the MASQUERADE_AS macro from having an effect on the sender addresses for
specific users. This is the same as setting the values in class E in the sendmail.cf
file.
LOCAL_USER(usernames) Defines local usernames that should not be relayed,
even if LOCAL_RELAY or MAIL_HUB are defined. This command is the same as
adding usernames to class L in the sendmail.cf file.
MASQUERADE_AS(host.domain) Converts the host portion of the sender address
on outgoing mail to the specified domain name. Sender addresses that have no
hostname or that have a hostname found in the w class are converted. This has the
same e f fec t as the M macro in the sendmai l .c f f i le . See examples o f
MASQUERADE_AS and macro M in Chapter 5.
MASQUERADE_DOMAIN(otherhost.domain) Converts the host portion of the
sender address on outgo ing mai l to the domain name def ined by the
MASQUERADE_AS command if the host portion of the sender address matches the
va lue de f ined here . Th is command must be used in con junc t ion w i th
MASQUERADE_AS. Its effect is the same as adding hostnames to class M in the
sendmail.cf file. See Chapter 5.
MASQUERADE_DOMAIN_FILE(filename) Loads class M hostnames from the
specified file. This can be used in place of multiple MASQUERADE_DOMAIN
commands. Its effect is the same as using the FMfilename command in the
sendmail.cf file.
MASQUERADE_EXCEPTION(host.domain) This macro defines a host that is not
masqueraded, even if it belongs to a domain that is being masqueraded. This allows
you to masquerade an entire domain with the MASQUERADE_DOMAIN macro and
then exempt a few hosts that should be exposed to the outside world.
RELAY_DOMAIN(otherhost.domain) This macro identifies a host for which mail
should be relayed. The host identified in this manner is added to class R.
RELAY_DOMAIN_FILE(filename) This macro identifies a file that contains a list of
hosts for which mail should be relayed. This macro loads class R from the specified
file.
There are also several features that affect relaying and masquerading. One, FEATURE (stickyhost),
was already discussed. Others are the following:
FEATURE(masquerade_envelope) Causes envelope addresses to be
masqueraded in the same way that sender addresses are masqueraded. See
Chapter 5 for an example of this command.
FEATURE(allmasquerade) Causes recipient addresses to be masqueraded in the
same way that sender addresses are masqueraded. Thus, if the host portion of the
recipient address matches the requirements of the MASQUERADE_AS command, it
is converted. Don't use this feature unless you are positive that every alias known to
the local system is also known to the mail server that handles mail for the
masquerade domain.
468
FEATURE(limited_masquerade) Limits masquerading to those hosts defined in
class M. The hosts defined in class w are not masqueraded.
FEATURE(masquerade_entire_domain) Causes MASQUERADE_DOMAIN to be
interpreted as referring to all hosts within an entire domain. If this feature is not used,
only an address that exactly matches the value defined by MASQUERADE_DOMAIN
is converted. If this feature is used, then all addresses that end with the value defined
by MASQUERADE_DOMAIN are converted. For example, assume that
M A S Q U E R A D E _ A S ( f o o b i r d s . o r g ) a n d
M A S Q U E R A D E _ D O M A I N ( s w a n s . f o o b i r d s . o r g ) a r e d e f i n e d . I f
FEATURE(masquerade_ ent i re_domain) is set , every hostname in the
swans.foobirds.org domain is converted to foobirds.org on outgoing e−mail.
Otherwise, only a host named swans.foobirds.org is converted.
Some features define how the server handles mail if it is the mail relay server. These features,
which are also described in Chapter 11, are the following:
access_db Maps a user, a domain name, or an IP address to a keyword that tells
sendmail how to handle relaying for the host, domain, or network. This database is
used in Chapter 11.
blacklist_recipient Uses the access database to control delivery of mail based on
the recipient address. The basic access_db feature controls relaying and delivery
based on the source of the message. This feature adds to the capability to control
mail relaying and delivery based on the destination.
dnsbl Controls mail delivery based on a DNS blacklist. Source addresses and
destination addresses listed in the DNS database may be denied mail delivery or
relay services.
promiscuous_relay Relays from any site to any site. Normally, sendmail does not
relay mail. Using this feature is a bad idea because it makes you a possible relay
server for spammers.
relay_entire_domain Relays from any domain defined in class M to any site.
relay_hosts_only Relays mail from any host defined in the access database or
class R.
relay_based_on_MX Relays mail from any site for which your system is the MX
server.
relay_local_from Relays mail with a sender address that contains your local
domain name.
The DOMAIN source file is also used for features and macros that directly relate to DNS. These
features and macros include the following:
FEATURE(accept_unqualified_senders) Accepts mail from the network even if the
sender address does not include a hostname. Normally, only mail from a user
directly logged on to the system is accepted without a hostname. This is a dangerous
feature that should be used only on an isolated network.
469
FEATURE(accept_unresolvable_domains) Accepts mail from hostnames that
cannot be resolved by DNS. This is a dangerous feature that is used only on systems
that lack full−time DNS service, such as mobile laptops.
FEATURE(always_add_domain) Adds the hostname of the system to all local mail.
With this feature enabled on a server named ibis.foobirds.org, mail from the local
use r c ra i g t o t he l oca l use r ka thy wou ld be de l i ve red as ma i l f r om
craig@ibis.foobirds.org to kathy@ibis.foobirds.org.
FEATURE(bestmx_is_local) Accepts mail addressed to any host that lists the
sendmail server as its MX server as local mail.
CANONIFY_DOMAIN(domain) Defines a domain name that will be passed to DNS
for conversion to its canonical form, even if the nocanonify feature is in use. This
macro is generally used to enable canonification of the local domain when
nocanonify is in use.
CANONIFY_DOMAIN_FILE(filename) Identifies a file containing a list of domain
names that should be converted to canonical form, even if nocanonify has been
selected.
LOCAL_DOMAIN(alias−hostname) Defines an alias for the local host. Mail
addressed to the alias will be accepted as if it were addressed directly to the local
host.
The macros and features described in this section are not limited to the DOMAIN source file. They
can appear in any m4 source file, and, in fact, are often found in the macro control file. They are
listed here because they are most naturally associated with the DOMAIN file.
MAILER
The MAILER command identifies an m4 source file that contains the configuration commands that
define a sendmail mailer. A least one MAILER command must appear in the configuration file.
Generally more than one MAILER command is used.
It is possible that you will need to customize a file location in an OSTYPE file, or that you will need
to define domain−specific information in a DOMAIN file. Unless you develop your own mail−delivery
program, however, you will not need to create a MAILER source file. Instead, you will need to
invoke one or more existing files in your macro configur−ation file.
Table C.5 lists each MAILER name and its function. These are invoked using the MAILER(name)
command in the macro configuration (.mc) file.
Table C.5: MAILER Values
Name Function
local The local and prog mailers.
smtp All SMTP mailers: smtp, esmtp, smtp8, dsmtp, and relay.
uucp All UUCP mailers: uucp−old (uucp) and uucp−new (suucp).
usenet Usenet news support.
470
fax FAX support using FlexFAX software.
pop Post Office Protocol (POP) support.
procmail An interface for procmail.
mail11 The DECnet mail11 mailer.
phquery The phquery program for CSO phone book.
qpage The QuickPage mailer used to send e−mail to a pager.
cyrus The cyrus and cyrusbb mailers.
Your macro configuration file should have a MAILER(local) and a MAILER(smtp) entry. Selecting
local and smtp provides everything you need for a standard TCP/IP installation. None of the
remaining mailers is widely used. The other mailers are the following:
uucp Provides UUCP mail support for systems directly connected to UUCP
networks. The uucp−old mailer supports standard UUCP mail, and the uucp−new
mailer is used for remote sites that can handle multiple recipients in one transfer.
Specify MAILER(uucp) after the MAILER(smtp) entry if your system has both TCP/IP
and UUCP connections.
usenet Sends local mail that contains .usenet in the recipient name to the program
inews. Use a user mail agent that supports Usenet news. Don't hack sendmail to
handle it.
fax Experimental support for HylaFAX.
pop On Linux systems, POP support is provided by the popd, so the MAILER(pop)
command is not used.
procmail Provides a procmail interface for the mailertable.
mail11 Used only on DECNET mail networks that use the mail11 mailer.
phquery Provides CSO phone book (ph) directory service.
qpage This mailer provides an interface from e−mail to pagers using the QuickPage
program.
cyrus Provides a local mail delivery program that uses a mailbox architecture. cyrus
and cyrusbb mailers are not widely used.
Local Code
There are several m4 macros that allow you to directly modify the sendmail.cf file with unadulterated
sendmail.cf configuration commands. These macros are placed at the beginning of a block of
sendmail.cf code, and they tell m4 where to put that code in the output file. These macros are as
follows:
LOCAL_RULE LOCAL_RULE_n heads a section of code to be added to ruleset n,
where n is 0, 1, 2, or 3. The code that follows the LOCAL_RULE command is
sendmail.cf rewrite rules.
471
LOCAL_CONFIG LOCAL_CONFIG heads a section of code to be added to the
sendmail.cf file after the local information section and before the rewrite rules. The
section of code contains standard sendmail.cf configuration commands.
LOCAL_RULESETS This macro heads a section of code that contains a complete
ruleset that is to be added to the sendmail.cf file. Generally, these are named as
opposed to numbered rulesets.
LOCAL_NET_CONFIG This macro heads a section of sendmail.cf rewrite rules that
defines how mail addressed to systems on the local network is handled.
MAILER_DEFINITIONS This macro is placed before a sendmail.cf M command,
which is a mailer definition.
DAEMON_OPTIONS
The DAEMON_OPTIONS macro defines parameters for the sendmail daemon. When sendmail
accepts mail from a local e−mail program, it is acting as a Mail Submission Agent (MSA). When it
transfers that mail to a remote server, it is acting as a Mail Transfer Agent (MTA). The
DAEMON_OPTIONS macro sets options for both of sendmail's "personalities."
Two DAEMON_OPTIONS commands are needed to set the parameters for both the MTA and the
MSA. The sendmail configuration defaults to the following values:
DAEMON_OPTIONS(`Port=25, Name=MTA')
DAEMON_OPTIONS(`Port=587, Name=MSA, M=E')
These two lines assign the standard ports to the MTA and the MSA, and a modifier to the MSA. Use
the no_default_msa feature to clear the MSA defaults before you set new MSA values with the
DAEMON_OPTIONS macro. And then use two DAEMON_OPTIONS commands: the first one for
the MTA and the second one for the MSA.
DAEMON_OPTIONS parameters are assigned using keyword=value pairs. The possible keywords
and values are:
Port The Port keyword assigns a network port number to the daemon. The standard
port for an MTA is 25, and the standard port for an MSA is 587. Changing these
standard ports means that clients will have difficulty locating the service. The port
numbers are therefore rarely changed.
Name The Name keyword identifies the aspect of the sendmail daemon for which
the parameters are being set. There are four documented values:
MTA This identifies the traditional Mail Transport Agent interface of
sendmail that is used to deliver mail.
MSA This identifies the Mail Submission Agent interface of sendmail
that can be used by external MUAs to submit mail. In practice, this
function is identical to the MTA function, except for port number,
because both aspects of sendmail ensure that all mail, no matter how
it arrives, is processed through all necessary rulesets, filters, and
472
databases.
MTA−v4 This is the same as the MTA interface, and is designed to
handle e−mail delivery to hosts with standard 32−bit IPv4 addresses.
MTA−v6 MTA−v6 is an interface designed to handle delivery to hosts
that use the 128−bit IPv6 addresses.
Family The Family keyword defines the address family. By default, this is inet, which
means that standard IPv4 addresses should be used. An alternate value is inet6,
which requests IPv6 addressing.
M The M keyword is a modifier that requests optional processing. M=E turns off the
ESMTP ETRN command. This setting is the default for the MSA because it is
required by the MSA standard. The M=a setting requires authentication by a trusted
authentication method before the MSA will accept the mail message.
LDAP Mail Routing
In addition to the various databases built into sendmail, a Lightweight Directory Access Protocol
(LDAP) server can be used with sendmail. If your site uses LDAP for other purposes, you may find
some benefit in using it with sendmail. LDAP support is added to sendmail using the following
defines, features, and macros:
define(`confLDAP_DEFAULT_SPEC', `ldap−arguments') Sets arguments that are
required for the LDAP map definition. At a minimum, the name of the LDAP server
(−h server) and the base distinctive name (−b o=org,c=country) must be provided.
For example:
define(`confLDAP_DEFAULT_SPEC', `−h egret.foobirds.org −b o=foobirds.org,c=us')
FEATURE(`ldap_routing') Adds the necessary support for LDAP routing to the
configuration.
LDAPROUTE_DOMAIN(domainname) Adds a domain to the class {LDAPRoute}.
Mail routing information for domains in that class is looked up via the LDAP server.
LDAPROUTE_DOMAIN_FILE(filename) Identifies the file from which the
{LDAPRoute} class is loaded. The file contains a list of the domains for which mail
routing information should be obtained from the LDAP server.
This concludes the discussion of m4 macros. The output of all of the files and commands that go
into the m4 processor is a sendmail.cf file. The bulk of information about sendmail configuration is
found in Chapter 5.
473
List of Figures
Chapter 1: The Boot Process
Figure 1.1: The boot process flow
Figure 1.2: The SYSV Runlevel Manager Window
Chapter 2: The Network Interface
Figure 2.1: Red Hat's Network Configuration tool
Figure 2.2: The RS−232 hardware handshake
Figure 2.3: kudzu installing a modem driver
Figure 2.4: The Internet Connections window
Chapter 3: Login Services
Figure 3.1: The anonymous FTP RPM
Chapter 4: Linux Name Services
Figure 4.1: A caching−only DNS server RPM
Chapter 5: Configuring a Mail Server
Figure 5.1: sendmail rulesets
Figure 5.2: Contents of the sendmail−cf RPM
Chapter 6: The Apache Web Server
Figure 6.1: Linux binaries at the Apache website
Figure 6.2: Enabling Apache with tksysv
Figure 6.3: Apache installation web page
Figure 6.4: A fancy index for /usr/share/doc
Figure 6.5: An invalid certificate warning
Figure 6.6: The CAs built−in Netscape 6.1
Figure 6.7: The Apache server−status display
Chapter 7: Network Gateway Services
Figure 7.1: Circuit switching versus packet switching
Figure 7.2: Routing through networks
Figure 7.3: Contents of the Zebra RPM
Figure 7.4: Installing gated with gnorpm
Chapter 9: File Sharing
Figure 9.1: The Red Hat NFS RPM
Figure 9.2: The Red Hat Samba RPM
Chapter 10: Printer Services
Figure 10.1: Selecting a print queue type
474
Figure 10.2: The active local printer port
Figure 10.3: Selecting a printer driver
Figure 10.4: Editing a printer configuration
Figure 10.5: Configuring a remote SMB printer
Figure 10.6: Configuring a remote Unix printer
Chapter 11: More Mail Services
Figure 11.1: RPM query of the IMAP package
Figure 11.2: Configuring the mail client
Figure 11.3: Defining Netscape filter rules
Chapter 12: Security
Figure 12.1: Searching the Bugtraq Archives
Figure 12.2: Linux exploits found at
Figure 12.3: Locating software updates from a vulnerability report
Figure 12.4: Red Hat provides security reports online.
Figure 12.5: The OpenSSH RPM
Chapter 13: Troubleshooting
Figure 13.1: The Kernel Configuration window
Figure 13.2: Network device support configuration options
Figure 13.3: Selecting processor types and features
Appendix A: Installing Linux
Figure A.1: Disk Druid's main screen
Figure A.2: Adding a partition in Disk Druid
Figure A.3: Red Hat firewall configuration
Figure A.4: The Authentication Configuration screen
Figure A.5: Final X configuration window
475
List of Tables
Chapter 1: The Boot Process
Table 1.1: Valid Action Values
Chapter 2: The Network Interface
Table 2.1: Escape Sequences and Their Meanings
Chapter 4: Linux Name Services
Table 4.1: named.conf Configuration Statements
Table 4.2: DNS Database Record Types
Table 4.3: rndc Commands
Table 4.4: Databases Controlled by nsswitch.conf
Chapter 5: Configuring a Mail Server
Table 5.1: Pattern Matching Symbols
Table 5.2: Rewrite Template Symbols
Chapter 6: The Apache Web Server
Table 6.1: DSO Modules Loaded in the Red Hat Configuration
Table 6.2: Server Side Includes Commands
Chapter 7: Network Gateway Services
Table 7.1: Default gated Preference Values
Chapter 8: Desktop Configuration Servers
Table 8.1: pump Command−Line Options
Chapter 9: File Sharing
Table 9.1: Linux mount Command Options
Table 9.2: More mount Options
Table 9.3: smb.conf Variables
Chapter 10: Printer Services
Table 10.1: lpc Commands
Chapter 11: More Mail Services
Table 11.1: POP3 Commands
Table 11.2: IMAP4 Commands
Table 11.3: Access Database Actions
Table 11.4: procmail Recipe Flags
476
Chapter 12: Security
Table 12.1: Wrapper Variables
Table 12.2: ssh Client Configuration Options
Chapter 13: Troubleshooting
Table 13.1: TCP Protocol States
Table 13.2: tcpdump Packet Filters
Appendix A: Installing Linux
Table A.1: Common Partitions
Table A.2: Single−Character fdisk Commands
Appendix B: BIND Reference
Table B.1: BIND 8 Configuration Options
Table B.2: New BIND 9 Options
Table B.3: BIND 8 Logging Categories
Appendix C: The m4 Macros for sendmail
Table C.1: The sendmail m4 Macros
Table C.2: Optional sendmail Features
Table C.3: OSTYPE defines
Table C.4: Mail Relay defines
Table C.5: MAILER Values
477
List of Listings
Chapter 1: The Boot Process
Listing 1.1: The Default GRUB Configuration
Listing 1.2: A Sample lilo.conf File
Listing 1.3: Adding Password Protection to LILO
Listing 1.4: The inittab File
Listing 1.5: Runlevel Initialization Scripts
Listing 1.6: The init.d Script Files
Listing 1.7: Listing Loaded Modules
Chapter 2: The Network Interface
Listing 2.1: Loadable Network Device Drivers
Listing 2.2: An Ethernet Card Configuration Created by kudzu
Listing 2.3: A Sample pap−secrets File
Listing 2.4: A Sample chap−secrets File
Listing 2.5: A Sample chat Script
Chapter 3: Login Services
Listing 3.1: An Excerpt of the /etc/protocols File
Listing 3.2: An Excerpt from /etc/services
Listing 3.3: Excerpts from an inetd.conf File
Listing 3.4: Services Disabled by inetd
Listing 3.5: The xinetd.conf File
Listing 3.6: The /etc/xinetd.d/wu−ftpd File
Listing 3.7: Using chkconfig to Control xinetd
Listing 3.8: A Sample /etc/passwd File
Listing 3.9: Available Login Shells
Listing 3.10: Examples from the /etc/group File
Listing 3.11: The Effect of the useradd Command
Listing 3.12: Using the usermod Command
Listing 3.13: Contents of the /etc/default/useradd File
Listing 3.14: Contents of the /etc/login.defs File
Listing 3.15: The userdel Command
Listing 3.16: Excerpts of the Red Hat ftpaccess File
Chapter 4: Linux Name Services
Listing 4.1: A Sample Host Table
Listing 4.2: A Sample /etc/resolv.conf File
Listing 4.3: A Sample zone Statement
Listing 4.4: A Common Caching−Only Configuration
Listing 4.5: The Red Hat named.conf File
Listing 4.6: The Red Hat localhost.zone File
Listing 4.7: The named Hints File
Listing 4.8: The named.local File
Listing 4.9: A DNS Slave Server Configuration
Listing 4.10: A DNS Master Server Configuration
Listing 4.11: A Sample DNS Zone File
478
Listing 4.12: A DNS Reverse Zone File
Listing 4.13: The Red Hat rndc.conf File
Listing 4.14: A Complete host.conf File
Listing 4.15: A Sample nsswitch.conf File
Chapter 5: Configuring a Mail Server
Listing 5.1: A Sample aliases File
Listing 5.2: Sample of the sendmail.cf Local Info Section
Listing 5.3: Sample sendmail.cf Options
Listing 5.4: sendmail.cf Header Commands
Listing 5.5: Sample mailer Definitions
Listing 5.6: Testing the Default sendmail Configuration
Listing 5.7: Testing sendmail Masquerading
Listing 5.8: The tcpproto.mc File
Listing 5.9: The linux.m4 OSTYPE File
Listing 5.10: The generic.m4 DOMAIN File
Listing 5.11: A Customized DOMAIN File
Listing 5.12: A Customized Macro Control File
Listing 5.13: A Sample genericstable
Listing 5.14: Testing Address Rewriting
Chapter 6: The Apache Web Server
Listing 6.1: Starting and Checking httpd
Listing 6.2: Listing Statically Linked httpd Modules
Listing 6.3: Active Directory Containers in Red Hat's httpd.conf File
Listing 6.4: Apache Access Controls
Listing 6.5: User Authentication for Web Access
Listing 6.6: Using mod_auth_db for User Authentication
Listing 6.7: Adding Users with dbmmanage
Listing 6.8: Red Hat's SSL Apache Server Configuration
Listing 6.9: Examining a Certificate with the openssl Command
Listing 6.10: Creating an Apache Certificate Signature Request
Listing 6.11: Examining a Certificate Signature Request with openssl
Listing 6.12: The Server−Status Location Container
Chapter 7: Network Gateway Services
Listing 7.1: Viewing the arp Cache
Listing 7.2: Viewing a Single arp Table Entry
Listing 7.3: A Simple Routing Table
Listing 7.4: A sample /etc/gateways file
Listing 7.5: Sample zebra.conf File
Listing 7.6: Examining zebra.conf through the vtysh Interface
Listing 7.7: The Port Numbers Used by the Zebra Suite
Listing 7.8: Reconfiguring zebra.conf through the vtysh Interface
Listing 7.9: A Sample ripd.conf File
Listing 7.10: A zebra.conf File for a Linux Host
Listing 7.11: A zebra.conf File for a RIP/OSPF Router
Listing 7.12: A ripd.conf File for a RIP/OSPF Router
Listing 7.13: A Sample ospfd.conf File
479
Listing 7.14: A Sample bgpd.conf File
Listing 7.15: A gated RIPv2 Configuration
Listing 7.16: A gated OSPF/RIPv2 Interior Router Configuration
Listing 7.17: A gated OSPF/BGP Exterior Router Configuration
Chapter 8: Desktop Configuration Servers
Listing 8.1: A Sample dhcpd.conf File
Listing 8.2: A Sample dhcpcd−eth0.info File
Listing 8.3: A Sample ifcfg−eth0 File
Listing 8.4: A Sample pump.conf File
Listing 8.5: A Sample dhclient.conf File
Chapter 9: File Sharing
Listing 9.1: Examining File Permissions with ls
Listing 9.2: Displaying RPC Ports
Listing 9.3: A Sample /etc/exports File
Listing 9.4: The showmount Command
Listing 9.5: Sample Mount Commands
Listing 9.6: A Sample fstab File
Listing 9.7: A Sample /etc/mtab File
Listing 9.8: A Sample lmhosts File
Listing 9.9: Active Lines in the Red Hat smb.conf File
Listing 9.10: Samba File Shares
Listing 9.11: Using smbclient
Listing 9.12: Checking /proc/filesystems
Listing 9.13: An smbmount Example
Chapter 10: Printer Services
Listing 10.1: Listing the Printer Ports
Listing 10.2: A Sample printcap File
Listing 10.3: Using lpc Interactively
Listing 10.4: Viewing and Reordering a Print Queue
Listing 10.5: Removing Jobs from the Print Queue
Listing 10.6: smb.conf with Printer Sharing
Listing 10.7: The script.cfg File for a Samba Printer
Chapter 11: More Mail Services
Listing 11.1: Using the POP Protocol with telnet
Listing 11.2: Testing IMAP with telnet
Listing 11.3: Permitting Mail Relaying
Listing 11.4: Testing the dnsbl Feature
Listing 11.5: A Sample Access Database for sendmail
Listing 11.6: Adding the Access Database to the Configuration
Listing 11.7: A Local_check_mail Example
Listing 11.8: An Example of Creating a Local Ruleset
Listing 11.9: A sample .procmailrc file
Chapter 12: Security
480
Listing 12.1: The tcpd Security Log
Listing 12.2: An xinetd Configuration File
Listing 12.3: xinetd.conf Access Controls
Listing 12.4: Sample iptables Commands
Listing 12.5: Linux Rejects Weak Passwords
Listing 12.6: Excerpts from the Shadow Password File
Listing 12.7: Modifying /etc/shadow with usermod
Listing 12.8: Generating OPIE Password Phrases
Listing 12.9: A Sample ssh Login
Listing 12.10: An Example of the ssh−keygen Command
Listing 12.11: The Red Hat sshd_config file
Listing 12.12: The Red Hat ssh_config file
Chapter 13: Troubleshooting
Listing 13.1: Adding the New Kernel to lilo.conf
Listing 13.2: Adding a New Kernel to grub.conf
Listing 13.3: Red Hat Network Interface Configuration Files
Listing 13.4: Displaying the Configuration with ifconfig
Listing 13.5: Viewing the ARP Table
Listing 13.6: The arpwatch arp.dat File
Listing 13.7: Sample arpwatch E−mail Reports
Listing 13.8: Testing a PPP Link with minicom
Listing 13.9: A Successful ping Test
Listing 13.10: A Failed ping Test
Listing 13.11: Displaying the Routing Table
Listing 13.12: Testing a Route with traceroute
Listing 13.13: Displaying Network Socket Connections
Listing 13.14: Display All Sockets
Listing 13.15: A telnet Handshake as Seen by tcpdump
Listing 13.16: Monitoring Traffic with tcpdump
Listing 13.17: Testing DNS with nslookup
Listing 13.18: Testing Continues
Listing 13.19: Testing DNS with the host Command
Listing 13.20: Testing DNS with dig
Appendix A: Installing Linux
Listing A.1: Using rawrite
Listing A.2: Creating Floppy Disks with dd
Listing A.3: Partitioning with fdisk
Listing A.4: Adding Logical Partitions
Listing A.5: Assigning Filesystem Types
Appendix B: BIND Reference
Listing B.1: The BIND 8 options Statement Syntax
Listing B.2: The BIND 9 options Statement Syntax
Listing B.3: BIND 8 logging Command Syntax
Listing B.4: BIND 9 logging Command Syntax
Listing B.5: BIND 8 zone Statement Syntax
Listing B.6: BIND 9 zone Statement Syntax
481
Listing B.7: The BIND 8 server Statement Syntax
Listing B.8: The BIND 9 server Statement Syntax
Listing B.9: The key Statement Syntax
Listing B.10: The acl Statement Syntax
Listing B.11: The trusted−keys Statement Syntax
Listing B.12: BIND 8 controls Statement Syntax
Listing B.13: BIND 9 controls Statement Syntax
Listing B.14: The view Statement Syntax
482
List of Sidebars
Introduction
Sidebars
Chapter 2: The Network Interface
Address Mask, Subnet Mask, or Network Mask?
Chapter 4: Linux Name Services
Resolver Timeouts
Chapter 7: Network Gateway Services
Proxy ARP
Counting to Infinity
Chapter 8: Desktop Configuration Servers
Using dhcpd with Old Linux Kernels
Placing DHCP Servers
Chapter 9: File Sharing
Hidden Bits
Coordinating UIDs and GIDs
Clear−Text Password
Chapter 11: More Mail Services
Spam, Spam, Spam, Spam, and Spam
Chapter 12: Security
Realistic Wrapper Rules
Password Dos and Don'ts
The OPIE Transition Mechanism
Chapter 13: Troubleshooting
Adapter Card Configuration
Appendix A: Installing Linux
Working with a Windows Partition
Symbolic Links
483
Các file đính kèm theo tài liệu này:
- 3.pdf