ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle Solaris のシステム管理 (ネットワークサービス) Oracle Solaris 11 Information Library (日本語) |
パート II ネットワークファイルシステムへのアクセス (トピック)
6. ネットワークファイルシステムへのアクセス (リファレンス)
sendmail.cf の代替構成を使ってメール配信を管理する方法
ローカルの各 /etc/mail/aliases ファイルに postmaster 別名を作成する方法
postmaster メールボックスを /etc/mail/aliases ファイルの別名に追加する方法
メールキュー /var/spool/mqueue の内容を表示する方法
メールキュー /var/spool/mqueue でメールキューを強制処理する方法
メールキュー /var/spool/mqueue のサブセットを実行する方法
メールキュー /var/spool/mqueue を移動する方法
古いメールキュー /var/spool/omqueue を実行する方法
サイトが企業外の電子メールサービスに接続していないか、あるいは企業が 1 つのドメイン内にある場合は、メールサービスを比較的容易に設定できます。
ローカルメール用に 2 つのタイプの構成が必要です。これらの構成については、図 13-1の「ローカルメール専用」 を参照してください。ドメイン外のネットワークと通信するためには、さらに 2 つのタイプの構成が必要です。これらの構成については、図 12-1の「ハードウェアコンポーネントの概要」 または 図 13-2の「ローカルメールとリモート接続」 を参照してください。これらの構成は、同じシステムで組み合わせるか、または別のシステムで提供できます。たとえば、同じシステムにメールホストとメールサーバーの機能を持たせる場合は、この節の説明に従って、まずそのシステムをメールホストとして設定します。次に、この節の説明に従って、同じシステムをメールサーバーとして設定します。
注 - 次のメールサーバーとメールクライアントの設定の手順は、メールボックスが NFS でマウントされているときに適用されます。ただし、メールボックスは通常、ローカルにマウントされた /var/mail ディレクトリで維持されるので、次の手順は必要ありません。
メールサーバーはローカルユーザーにメールサービスを提供するだけなので、設定には特別な手順は必要ありません。ユーザーはパスワードファイルまたは名前空間にエントリが必要です。さらに、メールが配信されるためには、ユーザーはローカルのホームディレクトリを用意して、~/.forward ファイルを確認する必要があります。このため、ホームディレクトリサーバーがしばしばメールサーバーとして設定されます。メールサーバーについては、「ハードウェアコンポーネント」の 第 14 章メールサービス (リファレンス)でさらに詳しく説明します。
メールサーバーは、メールクライアント宛てにメールを経路指定します。このタイプのメールサーバーは、クライアントのメールボックス用に十分なスプール空間が必要です。
注 - mail.local プログラムは、メッセージがはじめて配信された時に /var/mail ディレクトリでメールボックスを自動的に作成します。メールクライアントの個々のメールボックスを作成する必要はありません。
クライアントが自分のメールボックスにアクセスするには、/var/mail ディレクトリをリモートマウントに利用できなければなりません。または、POP (Post Office Protocol)、IMAP (Internet Message Access Protocol) などのサービスをサーバーから利用できなければなりません。次では、/var/mail ディレクトリを使ってメールサーバーを設定する方法を示します。このドキュメントでは、POP または IMAP の構成方法については説明しません。
次の作業のために、/var/mail ディレクトリがエクスポートされていることを /etc/dfs/dfstab ファイルで確認します。
詳細は、『Oracle Solaris の管理: セキュリティーサービス』の「管理権限を取得する方法」を参照してください。
# svcadm disable -t network/smtp:sendmail
# share
/var/mail ディレクトリが表示された場合は、手順 5 に進みます。
/var/mail ディレクトリが表示されない場合、あるいはリストが表示されない場合は、該当する手順に進みます。
「ファイルシステム自動共有を設定する方法」の手順に従って、/var/mail ディレクトリを使用して NFS サービスを起動します。
/etc/dfs/dfstab ファイルに次のコマンド行を追加します。
share -F nfs -o rw /var/mail
# shareall
# ypwhich
詳細は、ypwhich(1) のマニュアルページを参照してください。
# nslookup hostname
ホスト名を指定します。
詳細は、nslookup(1M) のマニュアルページを参照してください。
# ldaplist
詳細は、ldaplist(1) のマニュアルページを参照してください。
# svcadm enable network/smtp:sendmail
メールクライアントは、メールサーバー上にメールボックスを持っている、メールサービスのユーザーです。メールクライアントにはさらに、/etc/mail/aliases ファイルで、メールボックスの位置を示すメール別名が設定されています。
注 - POP (Post Office Protocol) または IMAP (Internet Message Access Protocol) のようなサービスを使ってメールクライアントを設定することもできます。ただし、POP または IMAP の構成方法については、このドキュメントでは説明していません。
詳細は、『Oracle Solaris の管理: セキュリティーサービス』の「管理権限を取得する方法」を参照してください。
# svcadm disable -t network/smtp:sendmail
マウントポイントは、インストール過程で作成されています。ls を使用すると、ファイルシステムが存在するかどうかを確認できます。次の例はファイルシステムが作成されていない場合に受け取る応答を示しています。
# ls -l /var/mail /var/mail not found
メールファイルがこのディレクトリにある場合は、それらのファイルを移動させ、サーバーから /var/mail ディレクトリがマウントされるときにその対象とならないようにします。
メールディレクトリは自動的にマウントすることも、ブート時にマウントすることもできます。
次のようなエントリを /etc/auto_direct ファイルに追加します。
/var/mail -rw,hard,actimeo=0 server:/var/mail
割り当てられているサーバー名を指定します。
/etc/vfstab ファイルに次のエントリを追加します。このエントリにより、指定されたメールサーバー上の /var/mail ディレクトリがローカルの /var/mail ディレクトリをマウントできます。
server:/var/mail - /var/mail nfs - no rw,hard,actimeo=0
システムをリブートするたびに、クライアントのメールボックスが自動的にマウントされます。システムをリブートしない場合は、次のコマンドを入力すれば、クライアントのメールボックスをマウントできます。
# mountall
注意 - メールボックスのロックとメールボックスへのアクセスが適切に動作するには、NFS サーバーからメールをマウントするときに actimeo=0 オプションを入れる必要があります。 |
/etc/hosts ファイルを編集し、メールサーバーのエントリを追加します。ネームサービスを使用する場合、この手順は必要ありません。
# cat /etc/hosts # # Internet host table # .. IP-address mailhost mailhost mailhost.example.com
割り当てられている IP アドレスを指定します。
割り当てられているドメインを指定します。
割り当てられているメールホストを指定します。
詳細は、hosts(4) のマニュアルページを参照してください。
メール別名ファイルの管理に関する作業マップについては、「メール別名ファイルの管理 (作業マップ)」を参照してください。mail.local プログラムは、メッセージがはじめて配信された時に /var/mail ディレクトリでメールボックスを自動的に作成します。メールクライアントの個々のメールボックスを作成する必要はありません。
# svcadm enable network/smtp:sendmail
メールホストは、電子メールアドレスを解決し、ドメイン内でメールを再度ルーティングします。メールホストに適しているのは、ネットワークにリモート接続を提供するシステム、または親ドメインにネットワークを接続するシステムです。次に、メールホストを設定する手順を示します。
詳細は、『Oracle Solaris の管理: セキュリティーサービス』の「管理権限を取得する方法」を参照してください。
# svcadm disable -t network/smtp:sendmail
次のように check-hostname スクリプトを実行し、sendmail が、このサーバーの完全指定のホスト名を識別できるかどうかを確認します。
% /usr/sbin/check-hostname hostname phoenix OK: fully qualified as phoenix.example.com
このスクリプトで完全指定ホスト名が識別できなかった場合は、完全指定ホスト名をホストの最初の別名として /etc/hosts 内に追加する必要があります。
次から、適切な手順を選択します。
メールホストシステムの IP アドレスとシステム名のあとに mailhost と mailhost.domain を追加します。
IP-address mailhost mailhost mailhost.domain loghost
割り当てられている IP アドレスを指定します。
メールホストシステムのシステム名を指定します。
拡張ドメイン名を指定します。
これで、このシステムはメールホストとして指定されます。domain は、次のコマンドの出力にサブドメイン名として指定されている文字列と同じにする必要があります。
% /usr/lib/sendmail -bt -d0 </dev/null Version 8.13.1+Sun Compiled with: LDAPMAP MAP_REGEX LOG MATCHGECOS MIME7TO8 MIME8TO7 NAMED_BIND NDBM NETINET NETINET6 NETUNIX NEWDB NIS NISPLUS QUEUE SCANF SMTP USERDB XDEBUG ============ SYSTEM IDENTITY (after readcf) ============ (short domain name) $w = phoenix (canonical domain name) $j = phoenix.example.com (subdomain name) $m = example.com (node name) $k = phoenix ========================================================
以上の変更を行なったあとの hosts ファイルの例を次に示します。
# cat /etc/hosts # # Internet host table # 172.31.255.255 localhost 192.168.255.255 phoenix mailhost mailhost.example.com loghost
次のようなエントリを作成します。
IP-address mailhost mailhost mailhost.domain loghost
# svcadm enable network/smtp:sendmail
手順については、「メール構成をテストする方法」を参照してください。
メールゲートウェイは、ドメイン外のネットワークとの通信を管理します。送信側メールゲートウェイ上のメールプログラムは、受信側システムのメールプログラムと同じでなければなりません。
メールゲートウェイに適しているのは、Ethernet および電話回線に接続されているシステムです。インターネットへのルーターとして設定されているシステムも適しています。メールホストをメールゲートウェイとして設定するか、あるいは別のシステムをメールゲートウェイとして設定できます。複数のメールゲートウェイを自分のドメイン用として設定できます。UUCP (UNIX-to-UNIX Copy Program) 接続がある場合は、メールゲートウェイとして UUCP 接続を使ってシステムを構成します。
詳細は、『Oracle Solaris の管理: セキュリティーサービス』の「管理権限を取得する方法」を参照してください。
# svcadm disable -t network/smtp:sendmail
次のように check-hostname スクリプトを実行し、sendmail が、このサーバーの完全指定のホスト名を識別できるかどうかを確認します。
# /usr/sbin/check-hostname hostname phoenix OK: fully qualified as phoenix.example.com
このスクリプトで完全指定ホスト名が識別できなかった場合は、完全指定ホスト名をホストの最初の別名として /etc/hosts 内に追加する必要があります。この手順の詳細は、手順 4の「メールホストを設定する方法」 を参照してください。
# ypwhich
詳細は、ypwhich(1) のマニュアルページを参照してください。
# nslookup hostname
ホスト名を指定します。
詳細は、nslookup(1M) のマニュアルページを参照してください。
# ldaplist
詳細は、ldaplist(1) のマニュアルページを参照してください。
# svcadm enable network/smtp:sendmail
手順については、「メール構成をテストする方法」を参照してください。
DNS ネームサービスは、個別の別名をサポートしません。このネームサービスは、MX (メール交換局) レコードおよび CNAME レコードを使用するホストまたはドメインの別名をサポートします。ホスト名とドメイン名は両方またはいずれか一方を DNS データベースで指定できます。sendmail と DNS の詳細は、第 14 章メールサービス (リファレンス)の 「sendmail とネームサービスの相互作用」、または『Oracle Solaris Administration: Naming and Directory Services 』を参照してください。
詳細は、『Oracle Solaris の管理: セキュリティーサービス』の「管理権限を取得する方法」を参照してください。
nslookup を使用して、mailhost と mailhost. domain のエントリが DNS データベースに存在することを確認します。詳細は、nslookup(1M) のマニュアルページを参照してください。