vine-users ML アーカイブ



[vine-users:077562] Re: Cyrus-IMAP の設定

  • From: "miyao" <miyao@xxxxxxxxxxx>
  • Subject: [vine-users:077562] Re: Cyrus-IMAP の設定
  • Date: Sat, 1 Sep 2007 17:19:59 +0900
宮尾です
飛田様2度にわたるご指導有り難うございます。
教えて頂いた事を調べた結果下記の様に結果が出ました。

[vine-users:077548] Cyrus-IMAPの設定 から引用
> admins に指定する管理者は実際にメールを受信するユーザを指定してはいけ
ま
> せん。管理専用ユーザ(おそらくデフォルトでは cyrus あるいは
> cyrus-admin)で行ないます。パッケージの作りにもよりますが、
> /etc/passwd | grep cyrus して見て下さい。
> 自動的に cyrus とか cyrus-admin とか追加されてませんか?
[root@wing-server root]# /etc/passwd | grep cyrus
-bash: /etc/passwd: 許可がありません
なので
[root@wing-server root]# cat /etc/passwd (抜粋)
cyrus:x:76:12:Cyrus IMAP Server:/var/lib/imap:/bin/bash
となっていたので下記の様に変更しました
[root@wing-server root]# cat /etc/imapd.conf (抜粋)
admins: cyrus
以前、miyao と設定したのは、cyrus のアカウントでログイン
する方法が思い付かなかったので、「実際に私が使っている
アカウントで管理した方がやりやすいのかな?」と思い変更しました。

> cyrus-sasl ライブラリは非常に柔軟でいくつもの認証方法バックエンドが利
用
> 可能です。で、sasldb はその一つで、マシンにユーザアカウントを必要とせ
ず、
> そのマシンにログイン出来ないユーザにメールアカウントを発行したい場合に
> 有効です。しかし、これ、sasldb と指定するのは古いように思います。vine
> のパッケージでは有効なのでしょうか? ちなみに cyrus-imapd のヴァージョ
ン
> はいくつですか?
sasldb 認証は古いのですか!!インターネットで解りやすく書いてある所を
頼りに設定を行っているので、古いとか新しいとか解りませんでした。
どの様な認証だったらセキュアで管理が容易なんでしょう?
私のサーバにはMySQL はインストールされておらず、PostgreSQL
で有ればインストール済みなのですが・・・・
実際に存在しないユーザのアカウントも今後作っていきたいしバーチャル
ドメインのメールアドレスも使いたいと思い、今回 cyrus-imap を
インストールする事にしました。
ヴァージョンは下記の通りです。
[root@wing-server root]# rpm -q cyrus-imapd
cyrus-imapd-2.2.12-0vl1
です。

> で、最近の cyrus-imapd では sasl_pwcheck_method: auxprop というのがデ
フ
> ォルトではないかと思います。(これで sasldb を使います)
> クライアントの要件にもよりますが、sasl_mech_list は複数指定出来ますの
で、
> cram-md5, digest-md5 あたりは追加しておくと良いのではないかと思いま
す。
下記の様に変更しておきました。
[root@wing-server root]# vi /etc/imapd.conf
sasl_pwcheck_method: auxprop
sasl_mech_list: PLAIN, cram-md5, digest-md5

> > tls_cert_file: /usr/share/ssl/certs/cyrus-imapd.pem
> > tls_key_file: /usr/share/ssl/certs/cyrus-imapd.pem
> > tls_ca_file: /usr/share/ssl/certs/ca-bundle.crt
> tls_* なファイル群は確実に存在していますよね?
申し訳ありません。存在しません。web 情報丸写しで、コメント化
するのを忘れていました。コメント化しておきました。

> > [root@wing-server root]# cyradm --user miyao localhost
> > -bash: cyradm: command not found
> cyradm コマンドは別パッケージになってたりしませんか? Debian だと
> cyrus-admin とかなのですが.. apt-cache search コマンドを活用して下さ
い。
解りました。多分下記のソフトですね。
[root@wing-server root]# apt-cache search cyrus* (抜粋)
cyrus-imapd-utils - Cyrus IMAP server administration utilities.
インストールします

> > [root@wing-server root]# postconf -n
> え〜っと.. postfix の smtp-auth も一緒にやってるのですか? 別々に考え
て、
> 一つずつクリアしていかないいと、どんどん混乱してふかみにはまりますよ。
えーと、見知らぬソフトが沢山出てきて、もう、足の先から首まで泥沼にはまっ
ています。
(-_-;)汗
ソフトをインストールしながら、このソフトはどんな機能を司る物だと覚えて
いっている
段階です。
Samba や PostgreSQL と違って、メールサーバは postfix や CyrusIMAP と
色々ソフトが居るのでややこしいですね!!!


[vine-users:077556] から引用
> > 【ログ】
> > Aug 30 17:42:51 wing-server pop3[2778]: unknown password verifier
> せっかく imap 使えるのに pop3 でアクセスするのはなにか理由があるのです
> か? で、この pop3[2778] というのは cyrus のですか? cyrus-imapd はイン
ス
> トールされたようですが、pop3d は何を使っておられるのですか?
上記のログは、cyrus の物だと思います。cyrus 以外 pop3 を提供できるソフト
は
インストールされていません。それで、pop3 を使う理由なのですが、当初 pop3
を使うために imap をインストールしないと行けないのかと、思いインストール
して
いたので、特にpop3 を使わないと行けない理由はございません。
ただ、クライアントのMicrosoft Outlook 2002 でimapを送受信する方法が
上手く設定した経験がないので、imap より前に pop3 の立ち上げをと思い
作業しています。

> また、/etc/cyrus.conf というのがあるのではないかと思いますが、その中身
> は確認されましたでしょうか?
cyrus.conf の設定は下記の様になっています。(抜粋)
SERVICES {
  imap          cmd="imapd" listen="imap" prefork=5
  imaps         cmd="imapd -s" listen="imaps" prefork=1
  pop3          cmd="pop3d" listen="pop3" prefork=3
  pop3s         cmd="pop3d -s" listen="pop3s" prefork=1
  sieve         cmd="timsieved" listen="sieve" prefork=0
  lmtpunix      cmd="lmtpd" listen="/var/lib/imap/socket/lmtp" prefork=1
}

> telnet localhost 110 とかやってみるとなんかわかりますかね?
> ;; ちなみに手元の Debian の cyrus-imapd ではログ(/var/log/mail.log)に
は
> ;; Sep  1 08:25:00 lune cyrus/imap[3445]: [...]
> ;; のように記録されます。
[miyao@wing-server miyao]$ telnet localhost 110
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
+OK wing-server.com Cyrus POP3 v2.2.12-Invoca-RPM-2.2.12-0vl1 server
                                 ready
<4294886266.1188634944@xxxxxxxxxxxxxxx>
quit
+OK
Connection closed by foreign host.

[root@wing-server root]# cat /var/log/maillog
Sep  1 17:21:05 wing-server ctl_cyrusdb[7885]: checkpointing cyrus
databases
Sep  1 17:21:05 wing-server ctl_cyrusdb[7885]: archiving database file:
/var/lib/imap/annotations.db
Sep  1 17:21:05 wing-server ctl_cyrusdb[7885]: archiving log file:
/var/lib/imap/db/log.0000000001
Sep  1 17:21:05 wing-server ctl_cyrusdb[7885]: archiving database file:
/var/lib/imap/mailboxes.db
Sep  1 17:21:05 wing-server ctl_cyrusdb[7885]: archiving log file:
/var/lib/imap/db/log.0000000001
Sep  1 17:21:05 wing-server ctl_cyrusdb[7885]: done checkpointing cyrus
databases
Sep  1 17:21:05 wing-server master[3614]: process 7885 exited, status 0
Sep  1 17:22:24 wing-server pop3[26849]: accepted connection
Sep  1 17:22:24 wing-server master[7899]: about to exec
/usr/lib/cyrus-imapd/pop3d
Sep  1 17:22:24 wing-server pop3[7899]: executed
Sep  1 17:23:31 wing-server master[3614]: process 26849 exited, status 0
こんな感じです。

> 配送する postfix 側で気になった点を
> > [root@wing-server root]# postconf -n
> > mailbox_transport = cyrus
> > fallback_transport = cyrus
> これ、master.cf の cyrus のエントリはどうなってますか?
[root@wing-server root]# more /etc/postfix/master.cf
# Cyrus 2.1.5 (Amos Gouaux)
# Also specify in main.cf: cyrus_destination_recipient_limit=1
cyrus     unix  -       n       n       -       -       pipe
  user=cyrus argv=/cyrus/bin/deliver -e -r ${sender} -m ${extension}
${user}
上記の部分で宜しいのでしょうか?

> あと、smtp-auth する場合には sasldb2 のパーミッションが問題になる場合
が
> あります。 postfix が sasldb2 を読めるのかどうかを確認して下さい。
[root@wing-server root]# ls -al /etc/sasldb2
-rw-r----- 1 root postfix 12288  8月30日 17:49 /etc/sasldb2
となっているので読めると思います。

> また、postfix が chroot されている(main.cf, master.cf を確認)ならそっ
ち
> に sasldb2 がないと読めなかったりする事もありますので注意が必要です。
ちょっと、意味が分かりません。どういう事ですか?

よろしくお願いします。

/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

宮尾 勝巳  ( Katumi Miyao )
E-mail : miyao@xxxxxxxxxxx

/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/