The Define Class Command
20.2.1.1.2 The Define Class Command
Two commands, C and F, define sendmail classes. A class is an array of values. They are used when multiple values are handled in the same way; for example, multiple names for the local host, or a list of uucp names. Classes allow sendmail to compare against a list of values, instead of multiple comparisons against single values. Special pattern matching symbols are introduced for this purpose: the = symbol matches any value in a class, and the ~ symbol matches any value not in a class. Classes have single character names, and user−created classes use uppercase letters for names. Class values can be defined on a single line, on multiple lines, or loaded from a file. The C command is used to assign the class from a single or multiple lines, for example: CV host1 host2 host3 or CV host1 host2 CV host3 Each new line with values in the class definition is appended to previously defined class values. The F command is used to load the class values from a file, for example: Fw etcsendmail.cw will define the class w as the contents of the file etcsendmail.cw A few class definitions may need to be modified in the sendmail configuration file. These are classes related to the alias host names, to special domains for mail routing, or some other site−dependent data. Similarly as with macros, some of the letters are used as usual names for specific classes; they are presented in the following table: Class Description B Domains that are candidates for best MX lookup E Addresses that should not seem to come from macro M F Hosts to forward for G Domains that should be looked up in generic table L Addresses that should not be forwarded to macro R M Domains that should be mapped to macro M O Operators that indicate network operations cannot be in local names P Top level pseudo−domains: BITNET, DECNET, FAX, UUCP, etc. 474 U My UUCP name if I have a UUCP connection V UUCP hosts connected to relay macro V W UUCP hosts connected to relay macro W X UUCP hosts connected to relay macro X Y Locally connected smart UUCP hosts Z Locally connected domain−ized UUCP hosts . The class containing only a dot [ The class containing only a left bracketv The configuration file continues with the Version number. −−−−−−−−−−−−−−−−−−−−−−−− etcsendmail.cf continued −−−−−−−−−−−−−−−−−−−−−−− Version number of configuration file DVSMI−4.1 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−− to be continued −−−−−−−−−−−−−−−−−−−−−−−−−−−− The version number is the macro V, and is defined as any other macro. It usually does not require modification, but it can be a good idea to keep track of the changes made to the sendmail configuration. The version number is the place to do it. Each time the configuration is changed, the version number can be modified. Afterward, the Standard macros sometimes also known as Special macros are specified: −−−−−−−−−−−−−−−−−−−−−−−−− etcsendmail.cf continued −−−−−−−−−−−−−−−−−−−−−−−−−−−− Standard macros name used for error messages DnMailer−Daemon UNIX header format DlFrom g d delimiter operator characters Do.: = [] format of a total name Dqg?x x. SMTP login message Dej Sendmail vV ready at b −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− to be continued −−−−−−−−−−−−−−−−−−−−−−−− The Standard special macro section includes some special macros used by sendmail. For example, the name that sendmail uses to identify itself when it returns error messages, or the message that sendmail displays during an SMTP login. All macros are defined in the usual way. There is no need for any modification of this section. The Options section follows: −−−−−−−−−−−−−−−−−−−−−−− etcsendmail.cf continued −−−−−−−−−−−−−−−−−−−−−−− Options Remote mode − send through server if mailbox directory is mounted OR location of alias file OAetcaliases default delivery mode deliver in background Odbackground rebuild the alias file automagically OD temporary file mode −− 0600 for secure mail, 0644 for permissive 475 The Options section specifies all of the implemented sendmail options. A leading uppercase letter O identifies each option entry; the second letter is the option name. Occasionally, some of the options can be modified if an already defined or default option does not correspond to the real situation. When options define pathnames for needed files and directories, it is highly recommended to keep their standard locations. Besides the options defined for this specific configuration, other options are also available: Option Meaning aN Wait N min. for :, than rebuild the alias file Bc Define the blank substitution character c Queue mail for an expensive mailer di Deliver interactively dq Deliver during the next queue run ee Mail error messages and return 0 status em Mail back error messages ep Print error messages eq Return exit status; no error messages ew Write back error messages f Retain UNIX−style From lines I Use the BIND DNS to resolve host names i Ignore dots in incoming messages Mxval Set macro x to val m Send to me, too Nnet Define the name of the home network as net qn Define factor n used to decide when to queue jobs v Run in verbose mode 476 Refuse SMTP connections if load average exceeds l xl Queue messages if load average exceeds l Y Deliver each queued job in separate job yn Lower priority of a job by n for each recipient v Zn Decrease a jobs priority by n each time it is run zn Factor used with precedence to determine message priority An option could be a string, an integer, a Boolean, or a time interval. There are no user created options; the meaning of each option is hard−coded within the sendmail program. For options missing from the configuration file, the default values are supposed. The configuration continues with the sections: Message precedences and Trusted users. −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− etcsendmail.cf continued −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Message precedences Pfirst−class=0 Pspecial−delivery=100 Pjunk=–100 Trusted users T root daemon uucp −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− to be continued −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Message precedences Assigns priority to messages entering its queue it is known as message precedence; the higher the precedence number, the greater the precedence of the message the default is 0. There is no need to modify this section. • Trusted users Defines a list of users who are trusted to override the sender address using the mailer flag −f; could be a security problem, so it is better not to modify it. • The Headers section defines the format of headers that sendmail inserts into e−mail. −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− etcsendmail.cf continued −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Format of headers H?P?Return−Path: g HReceived: ?sfrom s .by j vV id i; b H?D?Resent−Date: a H?D?Date: a H?F?Resent−From: q H?F?From: q H?x?Full−Name: x HSubject: H?M?Resent−Message−Id: t.ij H?M?Message−Id: t.ij HErrors−To: −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− to be continued −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Macros defined within the headers are expanded before the header is inserted; it is unlikely to need to change the headers. For a better understanding of the headers entries, reread the paragraph on how the macros are defined. The remaining sendmail configuration lines are related to Rulesets and Rewrite Rules. This is the section that defines sendmail parsing algorithms and decision−making mechanisms. This is the most important part of the configuration file. We will return to this section later. 477 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− etcsendmail.cf continued −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Local and Program Mailer specification mandatory Mlocal, P=binmail, F=rlsDFMmnP, S=10, R=20, A=mail −d u Mprog, P=binsh, F=lsDFMeuP, S=10, R=20, A=sh −c u Ethernet Mailer specification Messages processed by this configuration are assumed to remain in the same domain. This really has nothing particular to do with Ethernet − the name is historical. Mether, P=[TCP], F=msDFMuCX, S=11, R=21, A=TCP h UUCP Mailer specification Muucp, P=usrbinuux, F=msDFMhuU, S=13, R=23, A=uux − −r −af hrmail u −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− to be continued −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Two mailers, local and prog, are mandatory for every sendmail configuration file. In this case these are the program binmail and Bourne shell binsh. Two other defined mailers are: ether for sendmail communication through the network specified by [TCP], and uucp program usrbinuux for UUCP delivery via phone line.20.2.2 Rulesets and Rewrite Rules
Parts
» Unix Administration. 7485KB Mar 29 2010 05:04:17 AM
» UNIX Operating System UNIX — Introductory Notes
» Berkeley Standard Distribution — BSD UNIX System V or ATT UNIX
» System Administrators Job UNIX System and Network Administration
» Computing Policies UNIX System and Network Administration
» Legal Acts Administration Guidelines
» Code of Ethics Administration Guidelines
» USENIX System Administrators Guild — SAGE
» In This Book UNIX System and Network Administration
» Introduction The Unix Model — Selected Topics
» Access Classes File ProtectionFile Access
» Default File Mode File ProtectionFile Access
» Plain Regular File Socket Named Pipe
» Special File Names Special File Creation
» Process Types Process Attributes
» Process Life Cycles Processes
» System V ATT Flavored ps Command
» Destroying Processes The UNIX kill command will eliminate a process entirely:
» Becoming a Superuser Communicating with Other Users
» The man Command UNIX Online Documentation
» The uptime Command The uptime command displays:
» Personal Documentation UNIX Administration Starters
» Shell Script Execution UNIX Shell Scripts
» Shell Variables UNIX Shell Scripts
» Double Command−Line Scanning
» Introductory Notes System Startup and Shutdown
» The Bootstrap Program System Startup
» The Kernel Execution System Startup
» System States System Startup
» The Outlook of a Startup Procedure
» Initialization Scripts System Startup
» The BSD rc Scripts BSD Initialization Sequence
» BSD−Like Initialization System V Initialization
» An Example Shutdown Procedures
» Introduction to the UNIX Filesystem
» System V Filesystem Directory Organization
» Mounting a Filesystem home, users
» Dismounting a Filesystem home, users
» Automatic Filesystem Mounting Removable Media Management
» BSD Filesystem Configuration File
» Filesystem Types A Few Other Filesystem Issues
» Swap Space — Paging and Swapping
» Loopback Virtual Filesystem A Few Other Filesystem Issues
» Display Filesystem Statistics: The df Command
» Checking Filesystems: The fsck Command
» Introduction UNIX Filesystem Layout
» Disk Partitions Physical Filesystem Layout
» Filesystem Structures Physical Filesystem Layout
» The mkfs Command Filesystem Creation
» File Identification and Allocation
» File Storage vs. File Transfer
» Reserved Free Space Filesystem Performance Issues
» Logical Volume Manager — AIX Flavor
» Logical Volume Manager — Solaris Flavor
» Redundant Array of Inexpensive Disks RAID
» The Volume Snapshot Snapshot
» The Filesystem Snapshot Snapshot
» Virtual UNIX Filesystem Logical Filesystem Layout
» Disk Space Upgrade UNIX Filesystem Layout
» User Database — File etcpasswd
» Initialization Template Files UNIX Login Initialization
» User Login Initialization Files
» Systemwide Login Initialization Files
» Restricted User Accounts Users and Secondary Groups
» Assigning User Passwords Standard UNIX Users and Groups
» Managing Disk Usage by Users
» System V Accounting Accounting
» AIX−Flavored Accounting Accounting
» Physical Security Passwords UNIX Lines of Defense
» File Permissions UNIX Lines of Defense
» Backups Password Encryption UNIX Lines of Defense
» Setting Password Restrictions UNIX Lines of Defense
» The Wheel Group Secure Terminals — Other Approaches
» History of the Root Account Tracking User Activities
» The syslogd Daemon The Concept of System Logging
» The Configuration File etcsyslog.conf
» Linux Logging Enhancements The logger Command
» Testing System Logging System Logging Configuration
» The last Command Limiting the Growth of Log Files
» BSD Printing Subsystem UNIX Printing Subsystem
» The lp, lpstat, and cancel Commands
» The etcprintcap File BSD Printer Configuration and the Printer Capability Database
» Filters BSD Printer Configuration and the Printer Capability Database
» The Printer Database Directory Hierarchy on System V
» Setting a Remote Printer on HP−UX
» BSD and AIX Cross−Printing Solaris and BSD Cross−Printing
» Third−Party Printer Spooling Systems
» The tput Command The tset, tput, and stty Commands
» The stty Command The tset, tput, and stty Commands
» The tar Command Tape−Related Commands
» The cpio Command Tape−Related Commands
» The dd Command Tape−Related Commands
» The mt Command Magnetic Tape Devices and Special Device Files
» The SVR3 and SVR4 backup Commands
» The fbackup Command Backup and Dump Commands
» The dumpufsdump Command Backup and Dump Commands
» Interactive Restore The restore Commands
» The frecover Command Restoring Files from a Backup
» Tape Control UNIX Backup and Restore
» The NTP Daemon Network Time Distribution
» The crontab Files Network Time Distribution
» The crontab Command Network Time Distribution
» Linux Approach Network Time Distribution
» Programs Scheduled for a Specific Time
» UNIX and Networking Network Fundamentals
» TCPIP and the Internet ISO OSI Reference Model
» TCPIP Protocol Architecture Computer Networks
» Internet Protocol IP Internet Layer and IP Protocol
» Network Access Layer Transport Layer and TCP and UDP Protocols
» Application Layer TCPIP Layers and Protocols
» IP Address Classes Data Delivery
» Dynamic Routing Internet Routing
» Protocols, Ports, and Sockets
» UNIX Database Files Multiplexing
» The arp Command Address Resolution ARP
» The portmapper Daemon The etcrpc File
» The ifconfig Command Configuring the Network Interface
» The netstat Command Configuring the Network Interface
» The inetd Daemon Super Internet Server
» Further Improvements and Development
» Host Names and Addresses Domain Name Service DNS
» The Local Host Table — etchosts
» Handling the NIC Host Table — A Journey into the Past
» Other Resolver Parameters BIND Configuration
» Name Servers UNIX Name Service — BIND
» The Configuration File etcnamed.boot
» The named.local File The named.cache file
» Subdomains and Parenting BIND Version 8.X.X
» The nslookup Interactive Mode
» A Few Examples of nslookup Usage
» Purpose and Concepts Network Information Service NIS
» To Create an NIS Client NIS Domain Name
» The etcnetgroup File DatabasesNIS Maps
» Security Issues NIS Management
» The showmount Command Mounting Remote Filesystems
» An Example The Automount Maps
» The rlogin Command The rcp Command
» The HOME.rhosts File Using UNIX r−Commands — An Example
» SSH Configuration Secure Shell SSH
» Root Access SSH Installation and User Access Setup
» SSH — Version 2 Secure Shell SSH
» Simple Mail Transport Protocol SMTP
» Rewriting an E−mail Address Pattern Matching
» Address Transformation The Parsing of E−mail Addresses
» Testing Rewrite Rules The sendmail −bt Command
» The Debugging Level Checking the Mail Queue
» Mail Subcommands The Mail Program and .mailrc File
» POP Transactions Post Office Protocol POP
» Internet Message Access Protocol IMAP
» Finger Common UNIX Network Applications
» The ping Command Host Connectivity
» The traceroute Command Host Connectivity
» The X Administration Philosophy
» Window Managers An Introduction to the X Window System
» xdm Configuration Files The X Display Managers
» Vendor−Specific X Flavors — a Configuration Example
» XDMCP Queries The Xaccess File
» Other Access Control Mechanisms
» Components of the xdm−Based User X Environment
» Other Startup Methods The User X Environment
» A Permanent X11 Installation
» Introduction to Kernel Reconfiguration
» Kernel Configuration Database Kernel Reconfiguration
» The config Command BSD−Like Kernel Configuration Approach
» HP−UX 10.x Kernel Configuration
» UNIX and Modems Introduction to Modems
» Terminal Lines and Modem Control
» C−Kermit Third−Party Communication Software
» UUCP Versions UUCP Chat−Transfer Session
» The UUCP Daemons UUCP Commands, Daemons, and Related Issues
» The UUCP Spool Directories and Files
» Additional Security in BNU UUCP
» Additional Security in Version 2 UUCP
» Intranet vs. Internet Introduction to Intranet
» Intranet Design Approach Introduction to Intranet
» Life Cycle of a Virus Virus Types
» The Viruswall Implementation Viruswalls
» Application Proxies SOCKS Proxies
» Web Services Intranet Front−End Services
» Other External Services Intranet Front−End Services
» Network Infrastructure and Desktops
» Dynamic Host Configuration Protocol DHCP
» UNIX and Not−UNIX Platform Integration
» HP−UX Installation UNIX Installation Procedures
» Linux Installation UNIX Installation Procedures
» Solaris Patch Installation HP−UX Patch Installation
» Solaris and Lost Root Password HP−UX and Lost Root Password
» Solaris Procedure to Create an Alternate Boot Partition
» Solaris Recovery of the Failed Mirrored Boot Disk
Show more