メルマガイドよくある質問サイトマップ

トップ > コンピュータ > ビギナーズガイド > ゼロから始めるLinuxサーバー

ゼロから始めるLinuxサーバー

RSS
最新号をメルマガでお届け

この記事の発行者<<前の記事次の記事>>最新の記事

ゼロから始めるLinuxサーバー #055

発行日: 2003/11/28

==========================================================================
  ゼロから始めるLinuxサーバー                          #055  2003/11/28
                                                http://www.urizinlab.jp/ 
==========================================================================


==========================================================================

 こんばんは。
やっと熱も治まり、体調は良くなったのですが、まだのどが痛い・・・。(>_<;)
皆様もお気をつけ下さい。

 今回は、「access.db」などの設定ファイルについて説明します。

==========================================================================

---- INDEX ---------------------------------------------------------------

  ◆1 「access」の設定
  ◆2 「mailertable」の設定
  ◆3 「aliases」の設定
  ◆4 「local-host-names」の設定
  ◆5 「virtusertable」の設定
  ◆6 「.db」ファイルの作成

--------------------------------------------------------------- INDEX ----


== ◆1 「access」の設定 ================================================

 #053でも説明しましたが、「access(access.db)」ファイルは、アクセス制御を
設定するためのファイルで、sendmail-8.9以降で標準となっています。
 メール転送の中継を許可するホストの範囲やスパムメール対策、自ドメインの
無効なアドレスへ来たメールの対処などを設定します。
 このファイルの設定によって、スパムメールの中継などを不可能にします。

 「access.db」ファイルは「access」というテキストファイルに設定を記述した
後に「makemap」コマンドを用いて変換します。「.db」は、データベース・ファ
イルです。

  −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

 「access」の設定を以下の例を参考にして説明します。

  1:  mail.urizin.com        RELAY
  2:  urizin.co.jp           RELAY
  3:  192.168.0              RELAY
  4:  cracker.com            REJECT
  5:  hacker@cracker.com     OK
  6:  spammer.net        DISCARD
  7:  cracker.co.jp          ERROR:"550 We reject mail from you"

 書式は、1行にドメインや、IPアドレス、e-mailアドレスなどと、それに対す
る許可や不許可などを記述します。

 上記の例の1行目では、ホスト名「mail.urizin.com」に対して転送を許可して
います。「RELAY」はメール転送の許可を表しています。Sendmailサーバー自身の
ドメインに対しては許可しておかなければ、メールを送れません。
 2行目は、ドメイン名「urizin.co.jp」に対するメール転送を許可する設定で
す。
 3行目は、サブネットで指定しています。「192.168.0」は「192.168.0.0/24」
を意味します。もちろん、

  3:  192.168.0.0/24         RELAY

でも構いません。

 4行目の「REJECT」はメール転送の拒否を表しています。「cracker.com」ドメ
インからのメール転送を拒否しています。
 5行目で、同じドメインの「hacker@cracker.com」からのメールだけは転送を
許可したいので「OK」を指定します。「OK」は他の行の設定よりも優先されるの
で、4、5行目のようにすれば、あるe-mailアドレスだけを許可する設定が行え
ます。
 しかし、個人的にはこのような設定はおすすめしません。抜け穴のようになっ
てしまいますし、許可するe-mailアドレスが多いと管理が大変ですから。

 6行目は、ホスト「spammer.net」からのメールを破棄しています。「DISCARD」
はメール破棄の設定です。

 7行目は、ホスト「cracker.co.jp」からのメールの転送に対して、メッセージ
「"550 We reject mail from you"」を送り、メール転送を拒否します。「ERROR:」
の後にメッセージを指定するとこのような設定が行えます。

  −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

 以上を参考に、viなどのエディタで「/etc/mail/」ディレクトリに「access」
ファイルを作成してください。
 「access.db」ファイルへの変換は後で行います。

================================================ ◆1 「access」の設定 ==

== ◆2 「mailertable」の設定 ===========================================

 「mailertable(mailertable.db)」ファイルは、静的な配送の設定を行うための
ファイルで、このファイルにドメインとIPアドレスの組み合わせなどを記述して
おけば、DNSサーバーのMXレコードでドメインが検索されなくても、転送するメー
ルを指定したドメインに正確に送ることが出来るようになります。
 この設定を行えば障害に強いサーバーにすることが出来ます。

 「mailertable.db」ファイルも「mailertable」というテキストファイルに設定
を記述した後に「makemap」コマンドを用いて変換します。

  −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

 「mailertable」の設定を以下の例を参考にして説明します。

  1:  urizin.com     smtp:[222.111.100.101]
  2:  .urizin.co.jp  smtp:mail.urizin.ne.jp

 設定は、1行に1つ、左にホスト名やドメイン名の一部を、右にメイラーに続
けて「:(コロン)」、IPアドレスやホスト名を記述します。
 メイラーには、前回(#054)で、「.mc」ファイルの説明をしましたが、その中の
例の27行目で設定した、

 27:  MAILER(smtp)dnl

の括弧内のメール転送エージェントを指定します。

 上記例の1行目は、ドメイン「urizin.com」宛のメールをsmtpメール転送エー
ジェントで、IPアドレス「222.111.100.101」(<-このアドレスはもちろん架空の
アドレスです)へ転送する設定です。
 2行目は、「.urizin.co.jp」のホスト、例えば、「sale@kobe.urizin.co.jp」
宛のメールなどをsmtpメール転送エージェントで、ホスト「mail.urizin.ne.jp」
へ転送する設定です。

 1行目のように、IPアドレスやホストを「[」と「]」で囲むと、そのホストや
アドレスに対してはDNSサーバーのMXレコード(メールサーバーに対する設定)を参
照しないでAレコードのアドレスに向けて転送されます。このようにする理由は、
設定が不完全な場合に「MXループ」(MXレコード参照を限りなく繰り返してしまう
ような現象)を引き起こしてしまうからです。

 設定行の左に来るホスト名やドメイン名で、部分的に一致する設定を記述した
場合、例えば、

 *1:  .urizin.co.jp      smtp:[222.111.100.101]
 *2:  kobe.urizin.co.jp  smtp:mail.urizin.ne.jp

のような場合は、より一致する部分が多い方が優先されます。ですので、上記の
設定では、「sale@kobe.urizin.co.jp」宛のメールは*2行目が適用されます。

  −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

 以上を参考に、「/etc/mail/」ディレクトリに「mailertable」ファイルを作成
してください。「.db」ファイルへの変換は後で説明します。

=========================================== ◆2 「mailertable」の設定 ==

== ◆3 「aliases」の設定 ===============================================

 「aliases(aliases.db)」ファイルは、ローカル・アカウントの転送先を設定す
るためのファイルです。配送されてきたメールが、「sendmail.cf」によってロー
カル宛てのメールだと認識された場合に、この「aliases(aliases.db)」ファイル
の設定に従ってエイリアス展開が行われます。

 「aliases.db」ファイルも「aliases」というテキストファイルに設定を記述し
た後に「makemap」コマンドを用いて変換します。

  −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

 基本的な設定書式は、

   :  alias: list

です。エイリアス名を左に記述し、「:(コロン)」をつけて、そのエイリアスの展
開先を記述して指定します。例えば、

   :  deamon:    root

であれば、「deamon」宛を「root」に展開します。

 「list」は、複数指定することも出来、その場合は「,(カンマ)」で区切ります。
また、「takahashi@urizin.com」などのようにアドレスでの指定や、ファイル名
での指定、Linuxコマンドを指定することでコマンドへの標準入力としてメッセー
ジをパイプする事も出来ます。
 「list」に多数の項目を指定したい場合は「include:filename」で「filename」
からアドレスリストを読み取り、メッセージを各受信者に転送したりすることも
可能です。

 しかし、一般的なSendmailの使用であれば、Sendmailをインストールしたとき
に展開したディレクトリの下の「****/sendmail-8.12.10/sendmail」(****は任意)
にデフォルト設定の「aliases」ファイルがあるので、それを「/etc/mail/」ディ
レクトリにコピーして使っても問題ないでしょう。

 まずは、デフォルト設定の「aliases」ファイルをコピーした後に、内容を確認
して下さい。そして必要であれば、追加設定したり、デフォルト設定を変更した
りしてください。

=============================================== ◆3 「aliases」の設定 ==

== ◆4 「local-host-names」の設定 ======================================

 「local-host-names」ファイルは、自ホスト宛のメールだと認識すべきドメイ
ンを設定します。このファイルの設定は、自ホストとするドメインを列挙するだ
けです。
 複数列挙すれば、複数のドメインに対するメール(SMTP)サーバーとすることが
出来ます。

  −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

 例えば、「urizin.com」、「urizin.co.jp」、「sm.urizin.co.jp」の3つのド
メインを自ホスト宛として処理したい場合は、

  1:  urizin.com
  2:  urizin.co.jp
  3:  sm.urizin.co.jp

と、記述するだけです。

 なお、「local-host-names」ファイルは、テキスト形式のままで使用します。

====================================== ◆4 「local-host-names」の設定 ==

== ◆5 「virtusertable」の設定 =========================================

 「virtusertable(virtusertable.db)」ファイルは、複数のドメインへのメール
転送を管理するサーバーで、それぞれのドメイン毎に送信されてきたメールの仕
分けするための転送設定を行うためのファイルです。

 「virtusertable.db」ファイルも「virtusertable」というテキストファイルに
設定を記述した後に「makemap」コマンドを用いて変換します。

  −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

 このファイルの設定も基本的には簡単です。受信アドレスと転送先のアドレス
を対にして列挙するだけです。指定はアドレスだけでなく、ホストを指定するこ
とも出来ます。

 例えば、

  1:  hara@urizin.com    sales-ml@urizin.co.jp
  2:  uehara@urizin.com  uehara@urizin.co.jp
  3:  @sm.urizin.co.jp   %1@urizin.com

などと記述します。
 1行目では、「hara@urizin.com」宛のメールをメーリングリストを稼働させて
いる「urizin.co.jp」のメーリングリスト用アドレス「sales-ml@urizin.co.jp」
へ転送します。
 2行目では、単純に「uehara@urizin.com」宛を「uehara@urizin.co.jp」へ転
送します。
 3行目では、「sm.urizin.co.jp」ホスト宛のメール全てを「urizin.com」に転
送しています。「%1」はワイルドカードで、「@urizin.com」の左のユーザー名の
部分を補います。つまり、この設定では「matsuzaka@sm.urizin.co.jp」宛のメー
ルであれば、「matsuzaka@urizin.com」に転送されます。

  −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

 以上を参考に、「/etc/mail/」ディレクトリに「virtusertable」ファイルを作
成してください。

========================================= ◆5 「virtusertable」の設定 ==

== ◆6 「.db」ファイルの作成 ===========================================

 ◆1〜◆5までで説明してきた設定ファイル、「access」、「mailertable」、
「aliases」、「virtusertable」の4つに対して、「makemap」コマンドを用いて
Sendmailが使用するデータベースマップ「.db」ファイルを作成します。

 4つのファイルに対して、Makefileを作成して一挙に「.db」ファイルを作成し
ても良いのですが、ここでは一つずつ変換していくことにします。

  −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

 まずは、「access」ファイルです。rootユーザーで、

 1:  # /usr/sbin/makemap hash /etc/mail/access < /etc/mail/access【Enter】
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
と入力します。変換作業はこれだけです。「hash」はハッシュフォーマットマッ
プを生成するオプションです。

 残りの3つのファイルに対しても、同様に、

 2:  # /usr/sbin/makemap hash /etc/mail/mailertable 
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                         < /etc/mail/mailertable【Enter】
                                         ~~~~~~~~~~~~~~~~~~~~~~~
 3:  # /usr/sbin/makemap hash /etc/mail/aliases 
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                         < /etc/mail/aliases【Enter】
                                         ~~~~~~~~~~~~~~~~~~~
 4:  # /usr/sbin/makemap hash /etc/mail/virtusertable 
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                       < /etc/mail/virtusertable【Enter】
                                       ~~~~~~~~~~~~~~~~~~~~~~~~~
と入力し、それぞれの「.db」ファイルが作成されているか確認してください。

=========================================== ◆6 「.db」ファイルの作成 ==


==========================================================================

 今回は、「sendmail.cf」以外の設定ファイルについての説明でした。うまく、
「.db」ファイルは作成できたでしょうか?
 次回は、Sendmailの運用上の注意点についてお伝えする予定にしています。

では・・・。

==========================================================================


 =-= =-= =-= =-= =-= =-= =-= =-= =-= =-= =-= =-= =-= =-= =-= =-= =-= =-=
  ------------------------------------------------------------------
  ◆ メールマガジン登録・解除は、 
  urizin Lab: http://www.urizinlab.jp/ 
  まぐまぐ  : http://www.mag2.com/m/0000097893.htm 
  Pubzine   : http://www.pubzine.com/detail.asp?id=19735 
  Macky     : http://macky.nifty.com/cgi-bin/bndisp.cgi?M-ID=zerolinux 
   melma!    : http://www.melma.com/ (タイトルで検索)
   めろんぱん:
    http://www.melonpan.net/melonpa/mag-detail.php?mag_id=005553
                            で、行えます。
  ------------------------------------------------------------------
  ◆ お問合せは、         info_maga@urizinlab.jp
  ------------------------------------------------------------------
  ◇ このメールマガジンは、
         まぐまぐ           : http://www.mag2.com/ 
         Pubzine            : http://www.pubzine.com/ 
         Macky              : http://macky.nifty.com/ 
         melma!        : http://www.melma.com/ 
         めろんぱん     : http://www.melonpan.net/ 
                   の配信サービスを利用しています。
  ==================================================================
  ◇ 発行 : urizin Lab   http://www.urizinlab.jp/ 
    ----------------------------------------------------------
    許可無く転載することを禁じます。
    Copyright(C)2002,2003 urizin Lab. All rights reserved.
  ==================================================================
   「ゼロから始めるLinuxサーバー」に出てくる社名、製品名等は各社
     の登録商標または商標です。
  ==================================================================
 =-= =-= =-= =-= =-= =-= =-= =-= =-= =-= =-= =-= =-= =-= =-= =-= =-= =-=

この記事の発行者<<前の記事次の記事>>最新の記事

 
  規約   
>> メルマ!の会報誌もお届けします

ブックマーク: はてなブックマークに追加del.icio.usに追加Buzzurlにブックマークニフティクリップに追加ライブドアクリップに追加Yahoo!ブックマークに登録My Yahoo!に追加Add to Google

この記事へのコメント


コメントを書く
コメントはありません。

このメルマガの最近の記事




関連メルマガを探す

トップ > コンピュータ > ビギナーズガイド > ゼロから始めるLinuxサーバー



メルマ! ガ オブ ザ イヤー 受賞メルマガ2009年度の受賞メルマガ
2008年度の受賞メルマガ
2007年度の受賞メルマガ
2006年度の受賞メルマガ
2005年度の受賞メルマガ




melma! ご利用規約 │ メールマガジン発行規約 │ お問い合わせ │ 会社概要 │ プライバシーポリシー
melma!比較サービス一覧 :  

グループサービス一覧 :
インターネット広告 サイバーエージェント