目次
ネットワーク接続を確立した (5章ネットワークの設定参照) あとで、各種のネットワークアプリケーションを実行できます。
多くのウェッブブラウザーパッケージがハイパーテキストトランスファープロトコル (HTTP) を使って遠隔コンテントにアクセスするために存在します。
表6.1 ウェッブブラウザーのリスト
パッケージ | ポプコン | サイズ | タイプ | ウェッブブラウザーの説明 |
---|---|---|---|---|
iceweasel *
|
V:30, I:48 | 3761 | X | ブランドを外した Mozilla Firefox |
iceape-browser *
|
V:1.4, I:2 | 35686 | , , | 非商標化された Mozilla、bug#505565 というセキュリティー問題で削除済 |
epiphany-browser *
|
V:13, I:34 | 1060 | , , | GNOME、HIG 準拠、Epiphany |
galeon *
|
V:0.9, I:1.4 | 1776 | , , | GNOME、Galeon は Epiphany が継承 |
konqueror *
|
V:8, I:15 | 3584 | , , | KDE、Konqueror |
w3m
*
|
V:24, I:84 | 1992 | テキスト | w3m |
lynx
*
|
I:22 | 252 | , , | Lynx |
elinks *
|
V:2, I:5 | 1448 | , , | ELinks |
links
*
|
V:3, I:9 | 1380 | , , | Links (テキストのみ) |
links2 *
|
V:0.7, I:3 | 3288 | グラフィクス | Links (X を使わないコンソールグラフィクス) |
次に示す特別の URL 文字列を使うと一部のブラウザーでその設定値を確認する事ができます。
about:
"
about:config
"
about:plugins
"
Debian は、Java (ソフトウエアープラットフォーム) や Flash のみならず、MPEG や MPEG2 や MPEG4 や DivX や Windows Media Video (.wmv) や QuickTime (.mov) や MP3 (.mp3) や Ogg/Vorbis ファイルや DVDs や VCDs 等を取り扱えるブラウザーのプラグインコンポーネントを提供します。Debian では contrib や non-free アーカイブエリアに non-free のブラウザープラグインパッケージを提供しています。
表6.2 ブラウザープラグインのリスト
パッケージ | ポプコン | サイズ | エリア | 説明 |
---|---|---|---|---|
icedtea6-plugin *
|
V:0.9, I:1.6 | 272 | main | OpenJDK と IcedTea に基づく Java プラグイン |
sun-java6-plugin *
|
I:10 | 100 | non-free | Sun の Java SE 6 (i386 専用) のための Java プラグイン |
mozilla-plugin-gnash *
|
V:0.4, I:4 | 60 | main | Gnash に基づく Flash のプラグイン |
flashplugin-nonfree *
|
V:1.3, I:15 | 132 | contrib | Adobe Flash Player (i386 と amd64 専用) をインストールする Flash のプラグインヘルパー |
mozilla-plugin-vlc *
|
V:3, I:4 | 128 | main | VLC メディアプレイヤーに基づくマルチメディアプラグイン |
totem-mozilla *
|
V:20, I:34 | 544 | main | GNOME's Totem メディアプレイヤーに基づくマルチメディアプラグイン |
gecko-mediaplayer *
|
V:0.6, I:0.8 | 724 | main | (GNOME) MPlayer に基づくマルチメディアプラグイン |
nspluginwrapper *
|
V:1.8, I:3 | 472 | contrib | i386 Netscape プラグインを amd64 アーキテクチャー上で実行するためのラッパー |
![]() |
ティップ |
---|---|
上記の Debian パッケージを使うのが遥に簡単であるとはいえ、今でもブラウザーのプラグインは "*.so" をプラグインディレクトリー (例えば
" |
ウェッブサイトによっては使っているブラウザーのユーザーエージェント文字列によって接続を拒否します。こういう状況はユーザーエージェント文字列を偽装することで回避できます。例えば、これは次の内容を
"~/.gnome2/epiphany/mozilla/epiphany/user.js
" か
"~/.mozilla/firefox/*.default/user.js
"
といったユーザー設定ファイル追加すればできます。
user_pref{"general.useragent.override","Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)"};
こうする代わりに、URL に"about:config
"
を入力して表示画面内容を右クリックしてこの変数を追加や再設定することでもできます。
![]() |
注意 |
---|---|
偽装されたユーザーエージェント文字列は Java に対して良からぬ副次効果を引き起こすかもしれません。 |
![]() |
注意 |
---|---|
もしインターネットと直接メール交換するメールサーバーを設定するなら、このような初歩的文書が不要なぐらいシステムを熟知しているべきです。 |
![]() |
注記 |
---|---|
以下の設定例は消費者用インターネット接続上の典型的モービルワークステーションにのみ有効です。 |
スパム (望みも頼みもしない email) 問題を封じ込めるために、多くの消費者用インターネット接続を提供する ISP は対抗措置を実施しています。
メールシステムを設定したりメール配達問題を解決する際には、こうした新たな制約に配慮しなければいけません。
このような敵意のあるインターネットの状況と制約を考慮して、Yahoo.com や Gmail.com 等の独立インターネットメール ISP はトランスポートレイヤーセキュリティー (TLS) やその前駆者であるセキュアーソケットレイヤー (SSL) を使ってインターネット上のどこからでも接続できるセキュアーなメールサービスを提供しています。
![]() |
注意 |
---|---|
リモートホストに確実にメールを直接送るために、消費者用インターネット接続上で SMTP
サーバーを実行するのは現実的ではありません。メールは拒否されるでしょう。あなたの接続 ISP もしくは独立メール ISP
が提供する何らかのスマートホストサービスを使わなければいけません。次の文章では簡単のために、そのスマートホストが
" |
最も簡単なメール設定は、MUA (「メールユーザーエージェント (MUA)」参照) 自身が ISP
のスマートホストにメールを送信し ISP の POP3 サーバーからメールを受信する設定です。この設定タイプは機能が充実した
icedove
(1) や evolution
(1) 等の GUI の MUA
でよく使われます。メールを種類毎にフィルターする必要がある際には MUA のフィルター機能を使う必要があります。このような場合にはローカルの MTA
(「メールトランスポートエージェント (MTA)」参照) はローカル配送のみをする必要があります。
これに代わるメール設定は、ローカルの MTA 経由で ISP のスマートホストにメールを送信し ISP の POP3 サーバーからメール取得プログラム
(「リモートメールの取得および転送ユーティリティー」参照)
によってローカルのメイルボックスに受信する設定です。メールの種類毎にフィルターする必要がある場合には、フィルター付きの MDA (「フィルター付きのメールデリバリーエージェント (MDA)」参照)
を使って別々のメイルボックスにフィルターします。このタイプの設定は、どんな MUA で設定することができるのですが、単純な
mutt
(1) や gnus
(1) 等のコンソールの MUA (「メールユーザーエージェント (MUA)」参照) でよく使われます。このような場合にはローカルの MTA (「メールトランスポートエージェント (MTA)」参照)
はスマートホストへの配送とローカル配送の両方をする必要があります。モービルワークステーションは有効な FQDN
を持たないので、メール配送エラーを避けるように外部に出すメール中のローカルメール名を隠して偽装するようにローカル MTA を設定します (「メールアドレス設定」参照)。
![]() |
ティップ |
---|---|
Maildir を使いホームディレクトリー下のどこかに email のメッセージを保存するように MUA/MDA を設定したいかもしれません。 |
普通のワークステーションでは、メールトランスポートエージェント (MTA) にexim4-*
か
postfix
パッケージのどちらがよく選ばれます。この選択は全くあなた次第です。
表6.3 ワークステーションでの基本的メールトランスポートエージェント関連パッケージのリスト
パッケージ | ポプコン | サイズ | 説明 |
---|---|---|---|
exim4-daemon-light *
|
V:60, I:65 | 1104 | Exim4 メールトランスポートエージェント (MTA: Debian のデフォールト) |
exim4-base *
|
V:62, I:68 | 1688 | Exim4 文書 (text) と共通ファイル |
exim4-doc-html *
|
I:0.6 | 3440 | Exim4 文書 (html) |
exim4-doc-info *
|
I:0.3 | 556 | Exim4 文書 (info) |
postfix *
|
V:18, I:20 | 3492 | Postfix メールトランスポートエージェント (MTA: Debian の代替候補) |
postfix-doc *
|
I:1.9 | 3420 | Postfix 文書 (html+text) |
sasl2-bin *
|
V:2, I:5 | 448 | Cyrus SASL API の実装 (SMTP AUTH について postfix を補完) |
cyrus-sasl2-doc *
|
I:2 | 284 | Cyrus SASL - 文書 |
ポプコンの投票数では exim4-*
は postfix
より何倍も人気があるようですが、postfix
が Debian
のデベロッパーに人気がないということではありません。Debian のサーバーシステムは exim4
も
postfix
も使っています。目立つ Debian のデベロッパーからのメーリングリスト投稿 メールのヘッダーの分析は、これら両方の MTA
がともに人気があることを示唆しています。
exim4-*
パッケージは非常に小さなメモリー消費とその設定が非常にフレキシブルであることで知られています。postfix
パッケージは非常にコンパクトで高速で単純でセキュアーであることで知られています。両ソフトウエアーは十分な文書とともに提供され、品質とライセンスでもともに良好です。
Debian アーカイブ中には異なった能力と狙いを持ったメールトランスポートエージェント (MTA) パッケージに関して多くの選択肢があります。
表6.4 Debian アーカイブ中のメールトランスポートエージェント (MTA) パッケージに関する選択肢リスト
パッケージ | ポプコン | サイズ | 能力と狙い |
---|---|---|---|
exim4-daemon-light *
|
V:60, I:65 | 1104 | 高機能 |
postfix *
|
V:18, I:20 | 3492 | 高機能 (セキュリティー) |
exim4-daemon-heavy *
|
V:1.7, I:1.9 | 1220 | 高機能 (柔軟性) |
sendmail-bin *
|
V:1.9, I:2 | 2052 | 高機能 (既に慣れている場合) |
nullmailer *
|
V:0.7, I:0.8 | 436 | 超軽量、ローカルメール無し |
ssmtp
*
|
V:1.2, I:1.7 | 0 | 超軽量、ローカルメール無し |
courier-mta *
|
V:0.14, I:0.15 | 12316 | 超高機能 |
xmail
*
|
V:0.14, I:0.16 | 836 | 軽量 |
masqmail *
|
V:0.04, I:0.05 | 624 | 軽量 |
esmtp
*
|
V:0.09, I:0.2 | 172 | 軽量 |
esmtp-run *
|
V:0.07, I:0.11 | 64 |
軽量 (esmtp の sendmail 互換性拡張)
|
msmtp
*
|
V:0.3, I:0.8 | 340 | 軽量 |
msmtp-mta *
|
V:0.11, I:0.15 | 32 |
軽量 (msmtp の sendmail 互換性拡張)
|
スマートホスト経由のインターネットメールに関しては、exim4-*
パッケージを次のように (再)設定します。
$ sudo /etc/init.d/exim4 stop $ sudo dpkg-reconfigure exim4-config
"General type of mail configuration" に関して、"スマートホストでメール送信; SMTP または fetchmail で受信する" を選択します。
"System mail name:" をそのデフォルトである FQDN (「ホスト名の解決」参照) に設定します。
"IP-addresses to listen on for incoming SMTP connections:" をそのデフォルトである "127.0.0.1 ; ::1" と設定します。
"Other destinations for which mail is accepted:" の内容を消去します。
"Machines to relay mail for:" の内容を消去します。
"送出スマートホストの IP アドレスまたはホスト名:" を"smtp.hostname.dom:587" と設定します。
"Hide local mail name in outgoing mail?" に関して "<No>"
を選択します。(この代わりに、「メールアドレス設定」にある
"/etc/email-addresses
" を使用します。)
"DNS クエリの数を最小限に留めますか (ダイヤルオンデマンド)?" に次の内のひとつの返答をします。
"Delivery method for local mail:" を"mbox format in /var/mail/" と設定します。
"Split configuration into small files?:" に関して "<Yes>" を選択します。
"/etc/exim4/passwd.client
"
を編集しスマートホストのためのパスワードエントリーを作成します。
$ sudo vim /etc/exim4/passwd.client ... $ cat /etc/exim4/passwd.client ^smtp.*\.hostname\.dom:username@hostname.dom:password
次のようにして exim4
を起動します。
$ sudo /etc/init.d/exim4 start
"/etc/exim4/passwd.client
"
中のホスト名はエリアスであってはいけません。真のホスト名は次の様にして確認できます。
$ host smtp.hostname.dom smtp.hostname.dom is an alias for smtp99.hostname.dom. smtp99.hostname.dom has address 123.234.123.89
エリアス問題を回避するために "/etc/exim4/passwd.client
"
の中に正規表現を用いています。もし ISP がエリアスで示されるホストを移動させても SMTP AUTH がきっと動きます。
![]() |
注意 |
---|---|
" |
![]() |
注意 |
---|---|
"DNS クエリの数を最小限に留めますか (ダイヤルオンデマンド)?" という debconf の質問に "No" (デフォールト値)
が選ばれシステムがブート時にインターネットに繋がっていない場合、 |
![]() |
注記 |
---|---|
次に示す正式のガイドを読んで下さい:
" |
![]() |
ティップ |
---|---|
ローカルのカスタム化ファイル " |
![]() |
ティップ |
---|---|
あなたのラップトップ PC 用に " |
スマートホスト経由のインターネットメールに関しては postfix 文書と重要マニュアルページを読むことから始めるべきです。
表6.5 重要 postfix マニュアルページのリスト
コマンド | 機能 |
---|---|
postfix (1)
|
Postfix コントロールプログラム |
postconf (1)
|
Postfix の設定ユーティリティー |
postconf (5)
|
Postfix 設定パラメーター |
postmap (1)
|
Postfix 検索テーブルのメンテナンス |
postalias (1)
|
Postfix エリアスデーターベースのメンテナンス |
postfix
と sasl2-bin
パッケージを次のように
(再)設定します。
$ sudo /etc/init.d/postfix stop $ sudo dpkg-reconfigure postfix
"スマートホストを使ってインターネット" を選択します。
"SMTP リレーホスト (なければ空):" を "[smtp.hostname.dom]:587
"
と設定します。
$ sudo postconf -e 'smtp_sender_dependent_authentication = yes' $ sudo postconf -e 'smtp_sasl_auth_enable = yes' $ sudo postconf -e 'smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd' $ sudo postconf -e 'smtp_sasl_type = cyrus' $ sudo vim /etc/postfix/sasl_passwd
スマートホストのパスワードエントリーを作成します。
$ cat /etc/postfix/sasl_passwd [smtp.hostname.dom]:587 username:password $ sudo postmap hush:/etc/postfix/sasl_passwd
次に記すように postfix
を起動します。
$ sudo /etc/init.d/postfix start
dpkg-reconfigure
ダイアログと
"/etc/postfix/sasl_passwd
" の中で "[
" と
"]
" を使うことで MX レコードを確認せずに指定された hostname
その物を直接使うように確実にします。"usr/share/doc/postfix/html/SASL_README.html
"
の中の "Enabling SASL authentication in the Postfix SMTP client" を参照下さい。
メールのトランスポートとデリバリーとユーザーのエージェントが使うメールアドレス設定ファイルが少々存在します。
表6.6 メールアドレス関連のファイルのリスト
ファイル | 機能 | アプリケーション |
---|---|---|
/etc/mailname
|
(送出)メールのデフォールトのホスト名 |
Debian 固有、mailname (5)
|
/etc/email-addresses
|
送出メールのホスト名の偽装 |
exim (8) 固有、exim4-config_files (5)
|
/etc/postfix/generic
|
送出メールのホスト名の偽装 |
postfix (1) 固有、postmap (1) コマンド実行後有効。
|
/etc/aliases
|
受入メールのためのアカウント名のエリアス |
一般的、newaliases (1) コマンド実行後有効。
|
通常 "/etc/mailname
" ファイル中の mailname はホストの IP の一つとして解決できる完全修飾ドメイン名 (FQDN)
です。解決できる IP アドレスのあるホスト名を持たない可動ワークステーションの場合には、この mailname を "hostname -f
"
に設定します。(これは exim4-*
と postfix
の両方に有効な安全な選択肢です。)
![]() |
ティップ |
---|---|
" |
![]() |
ティップ |
---|---|
通常 |
mailname を"hostname
-f
" と設定した時には、次によって MTA で発信元メールアドレスを偽装することが実現できます。
exim4
(8) の場合、exim4-config_files
(5)
に説明されているように "/etc/email-addresses
"
postfix
(1) の場合、generic
(5) に説明されているように
"/etc/postfix/generic
"
postfix
の場合、次に記す追加ステップが必要です。
# postmap hash:/etc/postfix/generic # postconf -e 'smtp_generic_maps = hash:/etc/postfix/generic' # postfix reload
あなたのメール設定は次のようにするとテストできます。
exim
(8) の場合、-brw, -bf, -bF, -bV, …
オプションを使用
postmap
(1) の場合、-q
オプションを使用
![]() |
ティップ |
---|---|
Exim は |
基本的な MTA 操作が存在します。その一部は sendmail
(1)
互換性インターフェース経由で実行する事もできます。
表6.7 基本的 MTA 操作のリスト
exim コマンド | postfix コマンド | 説明 |
---|---|---|
sendmail
|
sendmail
|
標準入力からメールを読み配送を手配 (-bm )
|
mailq
|
mailq
|
メールキューを状態とキュー ID とともにリスト (-bp )
|
newaliases
|
newaliases
|
エリアスデーターベースを初期化 (-I )
|
exim4 -q
|
postqueue -f
|
待機メールを排出 (-q )
|
exim4 -qf
|
postsuper -r ALL deferred; postqueue -f
|
全メールを排出 |
exim4 -qff
|
postsuper -r ALL; postqueue -f
|
凍結メールをも排出 |
exim4 -Mg queue_id
|
postsuper -h queue_id
|
キュー ID によってメッセージを凍結 |
exim4 -Mrm queue_id
|
postsuper -d queue_id
|
キュー ID によってメッセージを削除 |
N/A |
postsuper -d ALL
|
全メッセージを削除 |
![]() |
ティップ |
---|---|
" |
Debian 関連のメーリングリストを購読する場合、参加者のデファクトスタンダードで期待通り挙動をする mutt
や gnus
等の MUA を使うのは良い考えかも知れません。
表6.8 メールユーザーエージェント (MUA) のリスト
パッケージ | ポプコン | サイズ | タイプ |
---|---|---|---|
iceweasel *
|
V:30, I:48 | 3761 | X GUI プログラム (ブランドを外した Mozilla Firefox) |
evolution *
|
V:16, I:34 | 4724 | X GUI プログラム (グループウエアスイートの一部) |
icedove *
|
V:8, I:12 | 38864 | X GUI プログラム (ブランドを外した Mozilla Thunderbird) |
mutt
*
|
V:26, I:83 | 6004 |
きっと vim とともに使われるキャラクターターミナルプログラム
|
gnus
*
|
V:0.06, I:0.3 | 6453 |
(x)emacs の下でキャラクターターミナルプログラム
|
vim
と組み合わせて mutt
をメールユーザーエージェント (MUA)
として使うように "~/.muttrc
" を使って次に示すようにカスタム化します。
# # User configuration file to override /etc/Muttrc # # spoof source mail address set use_from set hostname=example.dom set from="Name Surname <username@example.dom>" set signature="~/.signature" # vim: "gq" to reformat quotes set editor="vim -c 'set tw=72 et ft=mail'" # "mutt" goes to Inbox, while "mutt -y" lists mailboxes set mbox_type=Maildir # use qmail Maildir format for creating mbox set mbox=~/Mail # keep all mail boxes in $HOME/Mail/ set spoolfile=+Inbox # mail delivered to $HOME/Mail/Inbox set record=+Outbox # save fcc mail to $HOME/Mail/Outbox set postponed=+Postponed # keep postponed in $HOME/Mail/postponed set move=no # do not move Inbox items to mbox set quit=ask-yes # do not quit by "q" only set delete=yes # always delete w/o asking while exiting set fcc_clear # store fcc as non encrypted # Mailboxes in Maildir (automatic update) mailboxes `cd ~/Mail; /bin/ls -1|sed -e 's/^/+/' | tr "\n" " "` unmailboxes Maillog *.ev-summary ## Default #set index_format="%4C %Z %{%b %d} %-15.15L (%4l) %s" ## Thread index with senders (collapse) set index_format="%4C %Z %{%b %d} %-15.15n %?M?(#%03M)&(%4l)? %s" ## Default #set folder_format="%2C %t %N %F %2l %-8.8u %-8.8g %8s %d %f" ## just folder names set folder_format="%2C %t %N %f"
HTML メールや MS ワードのインラインのアッタチメントを表示するように、"/etc/mailcap
" か
"~/.mailcap
" に次に記す内容を追加します。
text/html; lynx -force_html %s; needsterminal; application/msword; /usr/bin/antiword '%s'; copiousoutput; description="Microsoft Word Text"; nametemplate=%s.doc
![]() |
ティップ |
---|---|
Mutt はIMAP クライアントやメールボックス様式変換機として使えます。メッセージを
" |
fetchmail
(1) は GNU/Linux 上のリモートメールの取得のデファクト標準でしたが、著者は現在
getmail
(1)
が気に入っています。もしバンド幅を節約するためにメールをダウンロードする前に拒否したいなら、mailfilter
か mpop
が役に立つかもしれません。どのメールの取得ユーティリティーを使おうとも、取得したメールをパイプ経由で
maildrop
等の MDA に配送するようにシステム設定をすることをお勧めします。
表6.9 リモートメールの取得および転送ユーティリティーのリスト
パッケージ | ポプコン | サイズ | 説明 |
---|---|---|---|
fetchmail *
|
V:2, I:5 | 2588 | メール取得ユーティリティー (POP3、APOP、IMAP) (旧式) |
getmail4 *
|
V:0.3, I:0.9 | 668 | メール取得ユーティリティー (POP3、IMAP4、SDPS) (単純、セキュアー、高信頼) |
mailfilter *
|
V:0.00, I:0.07 | 332 | メール取得ユーティリティー (POP3)、regex フィルター機能付き |
mpop
*
|
V:0.01, I:0.08 | 324 | メール取得ユーティリティー (POP3) かつ MDA、フィルター機能付き |
getmail
(1) の設定は getmail 文書に記載されています。次に示すのがユーザーとして複数の
POP3 アカウントにアクセスする著者の設定です。
"/usr/local/bin/getmails
" を次のように作成します。
#!/bin/sh set -e if [ -f $HOME/.getmail/running ]; then echo "getmail is already running ... (if not, remove $HOME/.getmail/running)" >&2 pgrep -l "getmai[l]" exit 1 else echo "getmail has not been running ... " >&2 fi if [ -f $HOME/.getmail/stop ]; then echo "do not run getmail ... (if not, remove $HOME/.getmail/stop)" >&2 exit fi if [ "x$1" = "x-l" ]; then exit fi rcfiles="/usr/bin/getmail" for file in $HOME/.getmail/config/* ; do rcfiles="$rcfiles --rcfile $file" done date -u > $HOME/.getmail/running eval "$rcfiles $@" rm $HOME/.getmail/running
次のように設定します。
$ sudo chmod 755 /usr/local/bin/getmails $ mkdir -m 0700 $HOME/.getmail $ mkdir -m 0700 $HOME/.getmail/config $ mkdir -m 0700 $HOME/.getmail/log
各 POP3 アカウント毎に "$HOME/.getmail/config/pop3_name
"
設定ファイルを次のように作成します。
[retriever] type = SimplePOP3SSLRetriever server = pop.example.com username = pop3_name@example.com password = secret [destination] type = MDA_external path = /usr/bin/maildrop unixfrom = True [options] verbose = 0 delete = True delivered_to = False message_log = ~/.getmail/log/pop3_name.log
次のように設定します。
$ chmod 0600 $HOME/.getmail/config/*
"/usr/local/bin/getmails
" が15分毎に
cron
(8) により実行されるようにスケジュールするために、"sudo crontab -e
-u <user_name>
" と実行して次に記すユーザーの cron エントリーを追加します。
5,20,35,50 * * * * /usr/local/bin/getmails --quiet
![]() |
ティップ |
---|---|
POP3 へのアクセス問題は |
postfix
や exim4
等のほとんどの MTA プログラムは、MDA
(メールデリバリーエージェント) として機能します。フィルター機能のある専門の MDA があります。
procmail
(1) は GNU/Linux 上のフィルター付きの MDA のデファクト標準でしたが、著者は現在
maildrop
(1) が気に入っています。どのフィルターユーティリティーを使おうとも、フィルターされたメールを
qmail スタイルの Maildir
にデリバリーするようにシステムを設定します。
表6.10 フィルター付きの MDA のリスト
パッケージ | ポプコン | サイズ | 説明 |
---|---|---|---|
procmail *
|
V:19, I:84 | 368 | フィルター付き MDA (旧式) |
mailagent *
|
V:0.3, I:5 | 1692 | Perl フィルター付き MDA |
maildrop *
|
V:0.3, I:0.8 | 1000 | 構造化フィルター言語付き MDA |
maildrop
(1) の設定は maildropfilter 文書に記載されています。次に
"$HOME/.mailfilter
" の設定例を示します。
# Local configuration MAILROOT="$HOME/Mail" # set this to /etc/mailname contents MAILHOST="example.dom" logfile $HOME/.maildroplog # rules are made to override the earlier value by the later one. # mailing list mails ? if ( /^Precedence:.*list/:h || /^Precedence:.*bulk/:h ) { # rules for mailing list mails # default mailbox for mails from mailing list MAILBOX="Inbox-list" # default mailbox for mails from debian.org if ( /^(Sender|Resent-From|Resent-Sender): .*debian.org/:h ) { MAILBOX="service.debian.org" } # default mailbox for mails from bugs.debian.org (BTS) if ( /^(Sender|Resent-From|Resent-sender): .*@bugs.debian.org/:h ) { MAILBOX="bugs.debian.org" } # mailbox for each properly maintained mailing list with "List-Id: foo" or "List-Id: ...<foo.bar>" if ( /^List-Id: ([^<]*<)?([^<>]*)>?/:h ) { MAILBOX="$MATCH2" } } else { # rules for non-mailing list mails # default incoming box MAILBOX="Inbox-unusual" # local mails if ( /Envelope-to: .*@$MAILHOST/:h ) { MAILBOX="Inbox-local" } # html mails (99% spams) if ( /DOCTYPE html/:b ||\ /^Content-Type: text\/html/ ) { MAILBOX="Inbox-html" } # blacklist rule for spams if ( /^X-Advertisement/:h ||\ /^Subject:.*BUSINESS PROPOSAL/:h ||\ /^Subject:.*URGENT.*ASISSTANCE/:h ||\ /^Subject: *I NEED YOUR ASSISTANCE/:h ) { MAILBOX="Inbox-trash" } # whitelist rule for normal mails if ( /^From: .*@debian.org/:h ||\ /^(Sender|Resent-From|Resent-Sender): .*debian.org/:h ||\ /^Subject: .*(debian|bug|PATCH)/:h ) { MAILBOX="Inbox" } # whiltelist rule for BTS related mails if ( /^Subject: .*Bug#.*/:h ||\ /^(To|Cc): .*@bugs.debian.org/:h ) { MAILBOX="bugs.debian.org" } # whitelist rule for getmails cron mails if ( /^Subject: Cron .*getmails/:h ) { MAILBOX="Inbox-getmails" } } # check existance of $MAILBOX `test -d $MAILROOT/$MAILBOX` if ( $RETURNCODE == 1 ) { # create maildir mailbox for $MAILBOX `maildirmake $MAILROOT/$MAILBOX` } # deliver to maildir $MAILBOX to "$MAILROOT/$MAILBOX/" exit
![]() |
警告 |
---|---|
|
procmail
(1) 用の "$HOME/.procmailrc
"
を使う類似設定を次に記します。
MAILDIR=$HOME/Maildir DEFAULT=$MAILDIR/Inbox/ LOGFILE=$MAILDIR/Maillog # clearly bad looking mails: drop them into X-trash and exit :0 * 1^0 ^X-Advertisement * 1^0 ^Subject:.*BUSINESS PROPOSAL * 1^0 ^Subject:.*URGENT.*ASISSTANCE * 1^0 ^Subject: *I NEED YOUR ASSISTANCE X-trash/ # Delivering mailinglist messages :0 * 1^0 ^Precedence:.*list * 1^0 ^Precedence:.*bulk * 1^0 ^List- * 1^0 ^X-Distribution:.*bulk { :0 * 1^0 ^Return-path:.*debian-devel-admin@debian.or.jp jp-debian-devel/ :0 * ^Resent-Sender.*debian-user-request@lists.debian.org debian-user/ :0 * ^Resent-Sender.*debian-devel-request@lists.debian.org debian-devel/ :0 * ^Resent-Sender.*debian-announce-request@lists.debian.org debian-announce :0 mailing-list/ } :0 Inbox/
LAN 上でプライベートのサーバーを実行する場合、LAN クライアントにメールを配達するために POP3 / IMAP4 サーバーを実行することを考えます。
表6.11 POP3/IMAP サーバーのリスト
パッケージ | ポプコン | サイズ | タイプ | 説明 |
---|---|---|---|---|
qpopper *
|
V:1.1, I:4 | 636 | POP3 | Qualcomm 拡張の BSD POP3 サーバー |
courier-pop *
|
V:1.6, I:2 | 244 | POP3 | Courier メールサーバー - POP3 サーバー (maildir フォーマットのみ) |
ipopd
*
|
V:0.10, I:0.18 | 212 | POP3 | Washington 大学 POP2 と POP3 サーバー |
cyrus-pop3d-2.2 *
|
V:0.18, I:0.3 | 852 | POP3 | Cyrus メールシステム (POP3 サポート) |
xmail
*
|
V:0.14, I:0.16 | 836 | POP3 | ESMTP/POP3 メールサーバー |
courier-imap *
|
V:2, I:3 | 1624 | IMAP | Courier メールサーバー - IMAP サーバー (maildir フォーマットのみ) |
uw-imapd *
|
V:0.7, I:4 | 280 | IMAP | Washington 大学 IMAP サーバー |
cyrus-imapd-2.2 *
|
V:0.4, I:0.6 | 2632 | IMAP | Cyrus メールシステム (IMAP サポート) |
旧来の Unix 的システムでは BSD のラインプリンターデーモンが標準でした。 Unix 的システム上のフリーソフトの標準プリント出力フォーマットは PostScript なので、Ghostscript とともに何らかのフィルターシステムを使って non-PostScript プリンターへの印刷が可能になっています。
最近、共通 UNIX 印刷システム (CUPS) が新しいデファクトスタンダードです。CUPS は、インターネット印刷プロトコル (IPP) を使います。IPP は現在 Windows XP や Mac OS X 等の他の OS でもサポートされ、新たなクロスプラットフォームの両方向通信能力のあるリモート印刷のデファクト標準となっています。
Debian システム上のアプリケーションの標準の印刷可能データーフォーマットは、ページ記述言語である PostScript (PS) です。PS フォーマットのデーターは Ghostscript という PostScript のインタープリターに供給され、プリンター固有の印刷可能なデーターを生成します。「Ghostscript」を参照下さい。
CUPS システムのファイルフォーマット依存の自動変換機能のおかげで、どんなデーターでも lpr
コマンドに供給すると期待される印刷出力が生成されます。(CUPS では、lpr
はcups-bsd
パッケージをインストールすると有効となります。)
Debian システムには、プリントサーバーやユーティリティーで留意すべきパッケージがいくつかあります。
表6.12 プリントサーバーとユーティリティーのリスト
パッケージ | ポプコン | サイズ | ポート | 説明 |
---|---|---|---|---|
lpr
*
|
V:2, I:2 | 440 | printer (515) | BSD lpr/lpd (ラインプリンターデーモン) |
lprng
*
|
V:0.6, I:1.3 | 2904 | , , | , , (拡張) |
cups
*
|
V:33, I:44 | 15540 | IPP (631) | インターネット印刷 CUPS サーバー |
cups-client *
|
V:17, I:46 | 908 | , , | CUPS 用System V プリンターコマンド:
lp (1) と lpstat (1) と
lpoptions (1) と cancel (1) と
lpmove (8) と lpinfo (8) と
lpadmin (8) 等
|
cups-bsd *
|
V:7, I:41 | 420 | , , | CUPS 用BSD プリンターコマンド:
lpr (1) と lpq (1) と
lprm (1) と lpc (8) 等
|
cups-driver-gutenprint *
|
V:12, I:38 | 1212 | 非該当 | CUPS 用のプリンタードライバー |
![]() |
ティップ |
---|---|
CUPS システムはウェッブブラウザーを "http://localhost:631/" に向けることで設定できます。 |
セキュアーシェル (SSH) はインターネット経由で接続するセキュアーな方法です。Debian では、OpenSSH と呼ばれる SSH のフリーバージョンが
openssh-client
と openssh-server
パッケージとして提供されています。
表6.13 リモートアクセスサーバーとユーティリティーのリスト
パッケージ | ポプコン | サイズ | ツール | 説明 |
---|---|---|---|---|
openssh-client *
|
V:52, I:99 | 2104 |
ssh (1)
|
セキュアーシェルクライアント |
openssh-server *
|
V:70, I:83 | 700 |
sshd (8)
|
セキュアーシェルサーバー |
ssh-askpass-fullscreen *
|
V:0.08, I:0.4 | 92 |
ssh-askpass-fullscreen (1)
|
ユーザーに ssh-add 用のパスフレーズを質問する (GNOME2) |
ssh-askpass *
|
V:0.7, I:5 | 156 |
ssh-askpass (1)
|
ユーザーに ssh-add 用のパスフレーズを質問する (プレーン X) |
![]() |
注意 |
---|---|
あなたの SSH がインターネットからアクセスできる場合には、「インターネットのためのセキュリティー強化策」を参照下さい。 |
![]() |
ティップ |
---|---|
リモートのシェルプロセスが回線接続の中断の際にも継続するようにするために |
![]() |
警告 |
---|---|
OpenSSH サーバーを実行したい場合には、" |
SSH には2つの認証プロトコルがあります。
表6.14 SSH の認証プロトコルと方法のリスト
SSH プロトコル | SSH 手法 | 説明 |
---|---|---|
SSH-1 |
"RSAAuthentication "
|
RSA アイデンティティ鍵を用いるユーザー認証 |
, , |
"RhostsAuthentication "
|
".rhosts " に基づくホスト認証 (インセキュアー、無効化済み)
|
, , |
"RhostsRSAAuthentication "
|
RSA ホストキーと組み合わせの、".rhosts " に基づくホスト認証 (無効化済み)
|
, , |
"ChallengeResponseAuthentication "
|
RSA チャレンジ応答認証 |
, , |
"PasswordAuthentication "
|
パスワードを用いる認証 |
SSH-2 |
"PubkeyAuthentication "
|
公開鍵を用いるユーザー認証 |
, , |
"HostbasedAuthentication "
|
公開キークライアントホスト認証と組み合わせの、"~/.rhosts " か
"/etc/hosts.equiv " に基づくホスト認証 (無効化済み)
|
, , |
"ChallengeResponseAuthentication "
|
チャレンジ応答認証 |
, , |
"PasswordAuthentication "
|
パスワードを用いる認証 |
![]() |
注意 |
---|---|
非 Debian システムを使う際にはこれらの相違点に注意します。 |
詳細は、"/usr/share/doc/ssh/README.Debian.gz
" と
ssh
(1) と sshd
(8) と
ssh-agent
(1) と ssh-keygen
(1) を参照下さい。
次に示すのがキーとなる設定ファイルです。
表6.15 SSH 設定ファイルのリスト
設定ファイル | 設定ファイルの説明 |
---|---|
/etc/ssh/ssh_config
|
SSH クライアントのデフォールト、ssh_config (5) 参照
|
/etc/ssh/sshd_config
|
SSH サーバーのデフォールト、sshd_config (5) 参照
|
~/.ssh/authorized_keys
|
当該 SSH サーバーの当該アカウント接続用にクライアントが使用するデフォールト公開 SSH キー |
~/.ssh/identity
|
ユーザーの秘密 SSH-1 RSA キー |
~/.ssh/id_rsa
|
ユーザーの秘密 SSH-2 RSA キー |
~/.ssh/id_dsa
|
ユーザーの秘密 SSH-2 DSA キー |
![]() |
ティップ |
---|---|
公開と秘密の SSH キーをどう使うかに関しては、 |
![]() |
ティップ |
---|---|
接続をテストして設定を確認します。何らかの問題がある際には、" |
![]() |
ティップ |
---|---|
ローカルの秘密 SSH キーを暗号化するパスフレーズは " |
![]() |
ティップ |
---|---|
ホストを制限したり特定コマンドを実行するように " |
次に示す内容は、クライアントから ssh
(1) 接続をスタートします。
表6.16 SSH クライアント起動例のリスト
コマンド | 説明 |
---|---|
ssh username@hostname.domain.ext
|
デフォールトモードで接続します。 |
ssh -v username@hostname.domain.ext
|
デバグメッセージを有効にしてデフォールトモードで接続します。 |
ssh -1 username@hostname.domain.ext
|
SSH version 1 での接続を強制します。 |
ssh -1 -o RSAAuthentication=no -l username
hostname.domain.ext
|
SSH version 1 でパスワードを使うことを強制します。 |
ssh -o PreferredAuthentications=password -l username
hostname.domain.ext
|
SSH version 2 でパスワードを使うことを強制します。 |
もしローカルとリモートで同一ユーザー名を使う際には、"username@
"
とタイプするのを省略できます。たとえローカルとリモートで異なるユーザー名を使う際にでも、"~/.ssh/config
"
とタイプするのを省略できます。例えば Debian Alioth
サービスでのユーザー名が "foo-guest
"
という場合には、"~/.ssh/config
" が次を含むように設定します。
Host alioth.debian.org svn.debian.org git.debian.org User foo-guest
ssh
(1) はユーザーにとってより賢明でよりセキュアーな
telnet
(1) として機能します。telnet
コマンドと異なり、ssh
コマンドは telnet
エスケープ文字
(初期デフォールト CTRL-]) に出会うことで中断される事がありません。
ssh
を通して localhost
のポート 4025 から
remote-server
のポート 25 へと、localhost
のポート 4110 から remote-server
のポート 110
へと接続するパイプを設定するには、ローカルホスト上で次のように実行します。
# ssh -q -L 4025:remote-server:25 4110:remote-server:110 username@remote-server
このようにするとインターネット経由で SMTP/POP3 サーバーへとセキュアーに接続できます。リモートホストの
"/etc/ssh/sshd_config
" 中の
"AllowTcpForwarding
" エントリーを "yes
"
と設定します。
"RSAAuthentication
" (SSH-1 プロトコル) もしくは
"PubkeyAuthentication
" (SSH-2 プロトコル)
を使うと、リモートシステムのパスワードを覚える必要が無くなります。
リモートシステム上の "/etc/ssh/sshd_config
" 中に
"RSAAuthentication yes
" か "PubkeyAuthentication
yes
" という対応する設定をします。
次に示すように、ローカルで認証キーを生成しリモートシステム上に公開キーをインストールします。
RSAAuthentication
": SSH-1 の RSA キー (置き換えられたので非推奨。)
$ ssh-keygen $ cat .ssh/identity.pub | ssh user1@remote "cat - >>.ssh/authorized_keys"
PubkeyAuthentication
": SSH-2 の RSA キー
$ ssh-keygen -t rsa $ cat .ssh/id_rsa.pub | ssh user1@remote "cat - >>.ssh/authorized_keys"
PubkeyAuthentication
": SSH-2 の DSA キー (遅いので非推奨。)
$ ssh-keygen -t dsa $ cat .ssh/id_dsa.pub | ssh user1@remote "cat - >>.ssh/authorized_keys"
![]() |
ティップ |
---|---|
SSH-2 の DSA キーを使うことは、キーが小さく遅いので非推奨です。特許が期限切れとなったので DSA を使って RSA 特許を回避する理由はありません。DSA はデジタル署名アルゴリズムで遅いです。また DSA-1571-1 も参照下さい。 |
![]() |
注記 |
---|---|
SSH-2 で" |
他のプラットフォーム上で使えるフリーな SSH クライアントがいくつかあります。
表6.17 他のプラットフォーム上で使えるフリーな SSH クライアントのリスト
環境 | フリーの SSH プログラム |
---|---|
Windows | puTTY (http://www.chiark.greenend.org.uk/~sgtatham/putty/) (GPL) |
Windows (cygwin) | cygwin 中の SSH (http://www.cygwin.com/) (GPL) |
古典的 Macintosh | macSSH (http://www.macssh.com/) (GPL) |
Mac OS X |
OpenSSH; ターミナルアプリケーションの ssh を使用しましょう (GPL)
|
SSH の認証キーをパスフレーズで保護する方がより安全です。もしパスフレーズが設定されていない場合には "ssh-keygen
-p
" で設定できます。
上記のようにパスワードを使って接続したリモートホスト上の "~/.ssh/authorized_keys
"
中にあなたの公開 SSH キー (例えば "~/.ssh/id_rsa.pub
") を設定します。
$ ssh-agent bash $ ssh-add ~/.ssh/id_rsa Enter passphrase for /home/<username>/.ssh/id_rsa: Identity added: /home/<username>/.ssh/id_rsa (/home/<username>/.ssh/id_rsa)
次に示すように、今後リモートパスワードは必要ありません。
$ scp foo <username>@remote.host:foo
ssh-agent のセッションを終了するのに ^D を押します。
X サーバーの場合、通常の Debian の起動スクリプトは親プロセスとして ssh-agent
を実行します。だから ssh-add
は1回だけ実行される必要しかありません。詳細は
ssh-agent
(1) と ssh-add
(1) を参照下さい。
"shutdown -h now
" (「システムをシャットダウンする方法」参照) を実行しているプロセスを
at
(1) コマンド (「タスク1回実行のスケジュール」参照)
を使って次のようにして SSH が終了することから守る必要があります。
# echo "shutdown -h now" | at now
"shutdown -h now
" をscreen
(1) (「screen プログラム」参照) セッション中で実行しても同様のことができます。
問題に出会ったら、設定ファイルのパーミッションを確認し、ssh
を"-v
"
オプションとともに実行します。
root でファイアーウォールと問題を起こした場合には、"-P
" オプションを使いましょう;
こうするとサーバーポートの 1 — 1023 を使うのを回避します。
リモートサイトへの ssh
接続が急に動作し無くなった際は、システム管理者による変更、特に可能性が高いのはシステムメンテナンス中に
"host_key
"
が変更された結果かもしれません。実際にこういう状況で誰も洒落たハックでリモートホストとしてなりすまそうとしていないことを確認した後に、"host_key
"
エントリーをローカルホストの "~/.ssh/known_hosts
"
から削除すると再び接続できるようになります。
他のネットワークアプリケーションサーバーを次に示します。
表6.18 他のネットワークアプリケーションサーバー
パッケージ | ポプコン | サイズ | プロトコル | 説明 |
---|---|---|---|---|
telnetd *
|
V:0.4, I:1.1 | 156 | TELNET | TELNET サーバー |
telnetd-ssl *
|
V:0.10, I:0.3 | 152 | , , | , , (SSL サポート) |
nfs-kernel-server *
|
V:12, I:21 | 412 | NFS | Unix 式ファイル共有 |
samba
*
|
V:18, I:31 | 23096 | SMB | Windows のファイルとプリンター共有 |
netatalk *
|
V:5, I:9 | 3428 | ATP | Apple/Mac のファイルとプリンター共有 (AppleTalk) |
proftpd-basic *
|
V:6, I:7 | 4064 | FTP | 汎用ファイルダウンロード |
wu-ftpd *
|
V:0.4, I:0.6 | 820 | , , | , , |
apache2-mpm-prefork *
|
V:38, I:42 | 68 | HTTP | 汎用ウェッブサーバー |
apache2-mpm-worker *
|
V:6, I:7 | 68 | , , | , , |
squid
*
|
V:6, I:7 | 1848 | , , | 汎用ウェッブプロキシサーバー |
squid3 *
|
V:1.5, I:1.8 | 3600 | , , | , , |
slpd
*
|
V:0.14, I:0.2 | 180 | SLP | LDAP サーバーとしての OpenSLP サーバー |
bind9
*
|
V:10, I:17 | 1080 | DNS | 他のホストの IP アドレス |
dhcp3-server *
|
V:5, I:10 | 64 | DHCP | クライアント自身の IP アドレス |
コモンインターネットファイルシステムプロトコル (CIFS) はサーバーメッセージブロック (SMB) と同じプロトコルで Microsoft Windows で広く使われています。
![]() |
ティップ |
---|---|
Debian アーカイブの全内容のローカルのミラーサーバーを使うより、 |
他のネットワークアプリケーションクライアントを次に示します。
表6.19 他のネットワークアプリケーションクライアント
パッケージ | ポプコン | サイズ | プロトコル | 説明 |
---|---|---|---|---|
netcat *
|
I:28 | 36 | TCP/IP | TCP/IP 用万能ツール (スイス陸軍ナイフ) |
openssl *
|
V:56, I:91 | 2380 | SSL | セキュアソケットレイヤー (SSL) のバイナリーと関連する暗号化ツール |
stunnel4 *
|
V:0.6, I:2 | 512 | , , | 万能 SSL ラッパー |
telnet *
|
V:13, I:89 | 200 | TELNET | TELNET クライアント |
telnet-ssl *
|
V:0.2, I:1.1 | 208 | , , | , , (SSL サポート) |
nfs-common *
|
V:49, I:81 | 660 | NFS | Unix 式ファイル共有 |
smbclient *
|
V:6, I:35 | 45200 | SMB | MS Windows のファイルとプリンター共有 |
smbfs
*
|
V:5, I:24 | 56 | , , | リモートの MS Windows ファイルをマウントやアンマウントするコマンド |
ftp
*
|
V:9, I:85 | 168 | FTP | FTP クライアント |
lftp
*
|
V:1.3, I:6 | 1876 | , , | , , |
ncftp
*
|
V:1.4, I:7 | 1276 | , , | フルスクリーンの FTP クライアント |
wget
*
|
V:33, I:99 | 2364 | HTTP と FTP | ウェッブダウンローダー |
curl
*
|
V:7, I:23 | 352 | , , | , , |
bind9-host *
|
V:43, I:91 | 188 | DNS | bind9 由来の host (1) コマンド、"Priority:
standard "
|
dnsutils *
|
V:14, I:90 | 412 | , , | bind 由来の dig (1) コマンド、"Priority:
standard "
|
dhcp3-client *
|
V:32, I:92 | 60 | DHCP | IP アドレス獲得 |
ldap-utils *
|
V:2, I:7 | 672 | LDAP | LDAP サーバーからデーター獲得 |
telnet
プログラムを使うとシステムデーモンへの手動接続とその診断ができます。
プレーンな POP3 サービスをテストするには、次のようにします。
$ telnet mail.ispname.net pop3
一部の ISP が提供する TLS/SSL を有効にした POP3 サービスをテストするには、telnet-ssl
か
openssl
パッケージによる、TLS/SSL を有効にした telnet
クライアントが必要です。
$ telnet -z ssl pop.gmail.com 995
$ openssl s_client -connect pop.gmail.com:995
次の RFC は各システムデーモンに関する必要な知見を提供します。
"/etc/services
" の中にポートの使用され方が記載されています。