available here - cju.com - the homepage site of chris uriarte

advertisement
ITI-481: Unix Administration
Meeting 5
Christopher Uriarte
Rutgers University
Center for Applied Computing Technologies
Today’s Agenda
• Job Scheduling - The Cron Program
• Syslogd and Logging
• Sendmail and UNIX mail concepts
Electronic Mail System Components
• Mail User Agent (MUA)
– Provides interface for reading mail, writing new messages,
and filing. Also called a mailer.
– Examples: mail, Pine, Netscape Mail, Outlook.
• Mail Transport Agent(MTA)
– Routes mail from one user to another either locally or across
systems.
– Uses a transport protocol, usually SMTP (Simple Mail
Transport Protocol), to provide the medium for mail transfer.
– Examples: Sendmail, Qmail.
• Mail Delivery Agent (MDA)
– Takes a message once received at a site and gets it to the
appropriate user mailbox.
– Examples: procmail, mail.
Sample Exchange: Sending, Receiving and
Retrieving Electronic Mail
Sending Mail
Receiving Mail
Mail Spool
Retrieving Mail
MDA
SMTP Connection
SMTP Server
MTA
SMTP Relay
MUA
Workstation
SMTP Server
MTA
POP Server
SMTP and POP
Servers can be
the same system
POP
Connection
MUA
Workstation
SMTP
• The SMTP protocol defines the method by
which mail is sent from one host to
another.
• SMTP usually uses port 25 – mail servers will
be “listening” for incoming mail messages.
• No authentication required to use SMTP
services – anybody can send mail without
providing a username/password to send it.
Sample SMTP Exchange with a Mail
Server
amenti 5.5 [~] > telnet internet.rutgers.edu 25
Trying 165.230.30.68...
Connected to iti.Rutgers.EDU.
Escape character is '^]'.
220 iti.rutgers.edu ESMTP Sendmail 8.9.3/8.8.7; Mon, 15 May 2000
20:32:48 -0400
helo foobar.com
250 iti.rutgers.edu Hello amenti.rutgers.edu [165.230.116.133], pleased
to meet you
mail from: kkaplan@foobar.com
250 kkaplan@foobar.com... Sender ok
rcpt to: kkaplan@rci.rutgers.edu
551 we do not relay
rcpt to: kkaplan@internet.rutgers.edu
250 kkaplan@internet.rutgers.edu... Recipient ok
data
354 Enter mail, end with "." on a line by itself
This is a test.
.
250 UAA03425 Message accepted for delivery
Exercise: Sending a Message
•
•
•
•
•
Log into iti.rutgers.edu using ssh.
Telnet to port 25 on your iti.rutgers.edu:
> telnet iti.rutgers.edu 25
Compose and send out an email message:
helo foobar.com <enter>
mail from: foo@foobar.com <enter>
rcpt to: youritiname@iti.rutgers.edu <enter>
data <enter>
This is a test. <enter>
. <enter>
<control> ]
Verify that your message was received:
> less /var/spool/mail/youritiname
Try reading the message in pine. type:
> pine
Access your inbox. What information about the message is hidden from
the typical user view?
Sendmail
• Can be downloaded from
http://www.sendmail.org.
• Started from /etc/rc.d/init.d/sendmail at boot
time.
• Responsible for sending and receiving email
messages. Once mail is received, it gets
passed off to a MDA to deliver message to
appropriate user mail box.
Sendmail Components
• /usr/sbin/sendmail
Sendmail binary. Started by default with options –bd
–q1h. Sendmail is started by an rc script when
system boots.
• /etc/sendmail.cf
Main configuration file. Defines rule sets that dictate
Sendmail's behavior. Often also points to other
sendmail configuration files in /etc.
• /etc/aliases or /etc/mail/aliases
Used to create mailing lists or to give users
alternative email address.
• /var/spool/mqueue
Queue for outgoing email messages.
Receiving Electronic Mail
• The default storage location for
incoming mail is
/var/spool/mail/username.
• Mail can be redirected to other local or
remote email address through
.forward files in user home directories
or /etc/aliases on a system level.
Aliases File
• Entry format:
username: newuser
groupname: user1, user2
• Sample enties:
root: kkaplan@internet.rutgers.edu
staff: kkaplan,jsmith,jdoe
• After editing /etc/aliases, for changes to take effect,
need to run:
> /usr/bin/newaliases
Exercise: Creating Aliases
• Add the following entries to /etc/aliases:
root: student, youremail@domain.com
•
Type:
> /usr/bin/newaliases
• Verify that your aliases are working:
> echo “checking aliases” |/bin/mail root
> cat /var/spool/mail/student
Retrieving and Reading Email
• SMTP is a transport mechanism for sending
mail only. An SMTP server will not allow a
user to read or retrieve his/her mail.
• Options for reading or retrieving email:
– Use a MUA to access directly the file system
where the incoming mail is stored.
– Post Office Protocol (POP) – permits mail to be
downloading from a POP server to a POP client.
– Internet Message Access Protocol (IMAP) – IMAP
server maintains a central repository for IMAP
account mail messages. Users can read, write,
and file messages using an IMAP client.
POP3
• Uses a server process to handle requests to
retrieve email.
• Usually uses port 110.
• Unlike SMTP, POP is an authenticated
protocol. (users must provide a username
and password to retrieve mail)
• Installed by default and enabled on most
UNIX systems
IMAP
• Very similar to POP – however, not yet as
popular.
• Uses a server process to handle requests to
retrieve email.
• Usually uses port 143.
• IMAP is an authenticated protocol. (users
must provide a username and password to
retrieve mail)
• Installed by default and enabled on most
UNIX systems.
Job Scheduling in UNIX
• Sometimes its desirable to schedule an
application or script to execute unattended at
a certain time of day or at a certain frequency.
– System backups (backup the /home filesystem to tape every
night at 2:00am)
– Scripts that check system files (check to see if the
/etc/password and and /etc/shadow files have been changed
in the last 24 hours and email me if they have)
– Scripts that mail reports or log files (email me the last 200
lines of the system security log every morning)
• UNIX administrators need a reliable way to
schedule unattended jobs and, possibly, give
users the ability to schedule unattended jobs.
The Cron Program
• UNIX’s answer to automated job scheduling.
• Used to schedule jobs to run at particular
time or at a particular frequency.
• Useful to to automate system administration
tasks.
• Is actually a background system process crond (the cron daemon) is started at boot
time from rc scripts.
Cron Files
• Configuration files defining scheduled
jobs are stored in multiple locations on
some systems:
– /var/spool/cron
The mail Cron directory, where jobs defined
according to username. These definition files
are called crontab files.
– /etc/crontab
Defines cron jobs to be run hourly, daily, weekly,
and monthly
Cron Files, con’t.
• Each user on the system can have a
corresponding crontab file specifying their
own automated job schedule – including root.
• The simple text files are kept under the
/var/spool/cron directory, named after each
user, e.g.:
–
–
–
–
/var/spool/cron/root
/var/spool/cron/chris
/var/spool/cron/mary
etc.
Crontab File Format
• Crontab files use the following format, placing one
job entry on each line:
Minute Hour Day Month DayOfWeek Command
•
Time fields are as follows:
– Minute (0-59)
– Hour (0-23)
– Day of Month (1-31)
– Month (0-12 or names jan-dec
– Day of Week (0-6 or names mon-fri)
• Fields that are not specified for a particular entry
are substituted with “*”
• Ranges can be specified by placing a “-” between
elements, such as “mon-fri”
Sample Cron Entries
• Sample entries:
#Ping our mail file server’s IP address every 15 min
0,15,30,45**** /sbin/ping –5 192.168.15.7 | /bin/mail root
#Mail a disk usage report every Friday at 5:00PM
0 17 * * fri df |/bin/mail root
Remember the format:
Minute Hour Day Month DayOfWeek Command
Editing Crontab files
• Although crontab files are simple text files,
they cannot be edited by opening them
directly with a text editor like vi,emacs,pico,
etc.
• You must use the crontab program to edit a
user’s crontab file:
• To use the crontab:
> crontab –u username –e
• Crontab will open the specified crontab file in
the default system editor (usually vi). You can
have it use your favorite text editor by setting
the EDITOR environment varialble (I.e.
EDITOR=pico)
Editing Crontab files, con’t.
• If you do not format your cron entry
correctly, the cron program will notify
you when you attempt to exit your
editor.
• You will then have the chance to fix the
entry or exit your editor (which leaves
the crontab file unmodified)
/etc/crontab
• Defines a set of directories that will run scripts
or links located in those directories at
specified times.
• Predefined cron directories:
/etc/cron.hourly
/etc/cron.daily
/etc/cron.weekly
/etc/cron.monthly
• Non-standard way of using cron.
Exercise: Creating Crontab Entries
• Edit the root crontab file:
> cd /var/spool/cron
> crontab –u root -e
• Create a crontab entry to run out of the root account
to email a disk usage report to your
internet.rutgers.edu account or another email
address of your choice every 15 minutes of the hour.
• Check /var/log/cron to verify that your job ran.
Syslogd
• Most system logging is handled through the syslogd.
• Configuration file is /etc/sylog.conf.
• Log entries are directed to various files in /var/log.
• Messages logged by syslogd include a time stamp,
the process or facility that delivered the message,
and the message itself.
• Rotating log files periodically is recommended.
/etc/syslog.conf
• Format of syslog rule:
facility.priority
action
– facility - system or application generating the message.
– priority – level of severity of the message.
– Wild cards are accepted.
• Sample entries:
authpriv.*
/var/log/secure
mail.err
/var/log/maillog
• Tab delineated file.
• If changes are made need to restart syslog daemon:
> kill –HUP `cat /var/run/syslog.pid`
Additional Log Files
• /var/run/utmp – information about who
is currently logged into system. Used by
commands such as who and finger.
• /var/log/wtmp – login times and duration
for each user on the system. Can view with
last command.
• /var/log/lastlog – similar to wtmp but
used by different programs, such as finger.
Download