LinuC レベル1(LPIC-1対応)対策
メールと印刷のきほん
メールも印刷も、サーバーが裏で仕事をして利用者は入口のコマンドを叩くだけ、という同じ構造です。深い設定は問われず、名前と役割の対応が中心なので、表を覚えれば確実に得点できます。なお、この学習環境には MTA も CUPS も入っていないため実機演習はありません。
転送するのが MTA、メールボックスへ入れるのが MDA
| 略語 | 正式名 | 役割 | 代表例 |
|---|---|---|---|
| MUA | Mail User Agent | メールを読み書きするソフト | Thunderbird, mutt |
| MTA | Mail Transfer Agent | サーバー間でメールを転送する | Postfix, sendmail |
| MDA | Mail Delivery Agent | 個人のメールボックスへ配送する | procmail, maildrop |
| MAA | Mail Access Agent | サーバー上のメールを取り出せるようにする | Dovecot |
MUA が書いたメールを MTA が受け取り、MTA 同士が転送し、受信側の MTA が MDA に渡してメールボックスへ入れ、利用者は MAA 経由で読む、という流れです。MTA と MDA を入れ替えた選択肢が出ます。
MTA ごとの設定ファイルは、sendmail が /etc/mail/sendmail.cf、Postfix が /etc/postfix/main.cf と master.cf、Exim が /etc/exim4/exim4.conf、qmail が /var/qmail/control/ 配下です。Postfix や Exim は sendmail 互換のコマンドを提供しているので、sendmail -bp のような呼び出しがそのまま通ります。
/etc/aliases は編集しただけでは効かない
/etc/aliases は、あるアドレス宛のメールを別の宛先に振り替える対応表です。
プレーンテキスト
root: admin
webmaster: taro, jiro
support: /var/mail/support-archive
report: |/usr/local/bin/report-filter左に受け取り先の名前、右に実際の配送先を書きます。配送先はカンマ区切りで複数書け、絶対パスならファイルに追記され、| に続けてコマンドを書けばその標準入力へ渡されます。
MTA が読むのはテキストではなくハッシュ化された /etc/aliases.db なので、編集したら必ず newaliases を実行します。これが試験の定番です。一般利用者が自分宛のメールを転送したいときは、ホームディレクトリに ~/.forward を置きます。中身は転送先アドレスだけで、再構築は不要です。
コマンドは、mail が MUA で mail -s "件名" 宛先 の形で送信、mailq が送信待ちキューの一覧、sendmail -bp が mailq と同じ内容、sendmail -q がキューの処理を即座に試みる指定です。受信メールのスプールは /var/spool/mail/<ユーザー名> で、/var/mail/ はその別名です。1つのファイルに全メールを連結するのが mbox 形式、1通を1ファイルとして new cur tmp の3ディレクトリで管理するのが Maildir 形式です。
ポートは、MTA 間の転送が 25 番、MUA からの認証付き送信受付が 587 番です。受信は、サーバーから削除して端末に落とす POP3 が 110 番、サーバー上に置いたまま操作する IMAP が 143 番で、この区別が頻出です。
CUPS のポートは 631
CUPS は現在の Linux の標準の印刷システムで、印刷要求をジョブとしてキューに溜め、順にプリンタへ送ります。プロトコルは IPP で、管理用の Web 画面と IPP の待ち受けはどちらもポート 631 です。印刷そのものの 515 番 (LPD) と混同させる問題が出ます。
設定は /etc/cups/cupsd.conf がサーバー本体、/etc/cups/printers.conf がプリンタの定義、/var/spool/cups/ が印刷ジョブのスプールです。
印刷コマンドは2系統ある
| やりたいこと | System V 系 | BSD 系 |
|---|---|---|
| 印刷する | lp | lpr |
| キューを見る | lpstat | lpq |
| ジョブを取り消す | cancel | lprm |
CUPS は両方を提供しているので、対応を覚えるのが試験対策です。指定の仕方が微妙に違い、lp は -d でプリンタを指定し、lpr は -P で指定します。lpstat -t は全情報、-p はプリンタの状態です。プリンタの有効化と受付の制御には cupsenable cupsdisable accept reject を使います。
試験で狙われるところ
/etc/aliases を編集したら newaliases が要り、~/.forward には不要です。転送するのは MTA、メールボックスへ入れるのは MDA です。mailq と sendmail -bp は同じ結果を返します。CUPS のポートは 631 です。そして lp は -d、lpr は -P でプリンタを指定します。
復習ミニクイズ
`/etc/aliases` を編集して root 宛のメールを admin へ転送する設定を書き加えました。この変更を MTA に反映させるために実行するコマンドはどれですか。