- PR -

courier-imapの/etc/passwdを使った認証について

投稿者投稿内容
会議室デビュー日: 2004/04/13
投稿数: 18
投稿日時: 2006-12-21 21:07
こんばんわ。
courie-imapの/etc/passwdを使った認証について質問があります。
pop3dでメール受信すると、下のようなエラーになりました。
どこをどう直せばいいのかよくわからないので、「こうしてみたら?」
っていうのがありましたらアドバイスをお願いしますm(_ _)m

<メール受信時のエラーログ>
Dec 21 19:20:29 test198 pop3d: authentication error: No such file or directory
Dec 21 19:28:39 test198 pop3d: Connection, ip=[::ffff:202.○.○.○]
Dec 21 19:28:39 test198 pop3d: authdaemon: s_connect() failed: No such file or directory
Dec 21 19:28:39 test198 pop3d: LOGIN FAILED, user=ateam, ip=[::ffff:202.○.○.○]

ここの掲示板の過去ログをみますと、courier-authlibをインストールしていないんじゃないの?といった書き込みがあったので、確認しましたが、インストールしていました。
下がインストール確認の結果です。
<インストール確認の結果>
# rpm -qa | grep courier
courier-authlib-devel-0.58-1
courier-authlib-pgsql-0.58-1
courier-authlib-pipe-0.58-1
courier-authlib-0.58-1
courier-imap-4.1.1-1
courier-authlib-ldap-0.58-1
courier-authlib-mysql-0.58-1
courier-authlib-debuginfo-0.58-1
courier-authlib-userdb-0.58-1

また、プロセスの起動も確認してみました
<プロセスの起動確認>
# ps ax | grep courier-authlib
5126 ? S 0:00 /usr/sbin/courierlogger -pid=/var/spool/authdaemon/pid -facility=local1 -start /usr/libexec/courier-authlib/authdaemond
5127 ? S 0:00 /usr/libexec/courier-authlib/authdaemond
5128 ? S 0:00 /usr/libexec/courier-authlib/authdaemond
5214 pts/0 R+ 0:00 grep courier-authlib

また、認証用モジュールの読み込みも「authpam」にしています。
<認証用モジュールの読み込み確認>
# grep authmodulelist /etc/authlib/authdaemonrc

##NAME: authmodulelist:2
authmodulelist="authpam"
##NAME: authmodulelistorig:3
authmodulelistorig="authpam"

アドバイスお願いします。

たお
ベテラン
会議室デビュー日: 2006/10/27
投稿数: 90
投稿日時: 2006-12-21 22:41
>authentication error: No such file or directory
>authdaemon: s_connect() failed: No such file or directory
辺りからして、何かのファイルにアクセスできない、
または見つからないみたいですね。

/etc/authlib/authdaemonrc
のauthdaemonvar=/var/run/courier/authdaemon
にアクセスできないんじゃないですか?
これはdebianなので、環境よって、
ファイルが違うからもしれませんが。
会議室デビュー日: 2004/04/13
投稿数: 18
投稿日時: 2006-12-22 12:12
たおさん

返信ありがとうございます。

>/etc/authlib/authdaemonrc
>のauthdaemonvar=/var/run/courier/authdaemon
>にアクセスできないんじゃないですか?
>これはdebianなので、環境よって、
>ファイルが違うからもしれませんが。
設定を確認すると、
authdaemonvar=/var/spool/authdaemon
となっており、下のようにこのディレクトリ配下にpidファイルが作成
されてるんで、アクセスはできていそうです。
# ls -l /var/spool/authdaemon/
合計 4
-rw-r--r-- 1 root root 5 12月 21 21:23 pid
-rw------- 1 root root 0 12月 13 11:01 pid.lock
srwxrwxrwx 1 root root 0 12月 21 21:23 socket

先程、authtestというコマンドがあるということを知って実行したら、
下のような結果になりました。
# /usr/sbin/authtest ateam Password
Authentication succeeded.

Authenticated: ateam (system username: ateam)
Home Directory: /home/ateam
Maildir: (none)
Quota: (none)
Encrypted Password: $1$ttpFEIpJ$Wal47XT/7or2VMkHP4j3o.
Cleartext Password: Password
Options: (none)

結果のMaildirがnoneになっているために「No such file or directory」
といエラーがでるのかなと思いました。
Maildirの設定に間違いがあるようなのですが、どこが間違っているのでしょうか?

/usr/lib/courier-imap/etc/pop3dのMAILDIRPATHは下のようになっており、
MAILDIRPATH=Maildir
エラーになったユーザateamのMaildirは以下の場所にあります。
# ls /home/ateam/Maildir/
cur new tmp



たお
ベテラン
会議室デビュー日: 2006/10/27
投稿数: 90
投稿日時: 2006-12-22 13:53
>authentication error: No such file or directory
ぐぐってみたら、authdaemondがあがってないってのが多いですね。
でも、プロセスも動いてるし、
authtest?で、認証はいけてるみたいですね・・・。
pam認証がだめなのかな??

authmodulelistにauthpwdとかauthshadowとか追加してみたら
どうでしょうか?

環境も教えてください。
OSと各デーモンなりのバージョンとか。
会議室デビュー日: 2004/04/13
投稿数: 18
投稿日時: 2006-12-22 15:10
たおさん

返信ありがとうございます。
以下、返信です。
長くてすいません。

>authmodulelistにauthpwdとかauthshadowとか追加してみたら
>どうでしょうか?
アドバイス頂いたとおり、authmodulelistにauthpwdやauthshadowとか
追加してみました。
# cat /etc/authlib/authdaemonrc | grep authmodulelist=
authmodulelist="authpam authpwd authshadow"

この設定でauthdaemonを再起動し、起動ログを確認してみました。
# /etc/rc.d/init.d/courier-authlib restart
Stopping Courier authentication services: authdaemond
Starting Courier authentication services: authdaemond
# less /var/log/poplog
Dec 22 14:40:39 test198 authdaemond: stopping authdaemond children
Dec 22 14:40:39 test198 authdaemond: modules="authpam authpwd authshadow", daemons=1
Dec 22 14:40:39 test198 authdaemond: Installing libauthpam
Dec 22 14:40:39 test198 authdaemond: Installation complete: authpam
Dec 22 14:40:39 test198 authdaemond: Installing libauthpwd
Dec 22 14:40:39 test198 authdaemond: libauthpwd.so: cannot open shared object file: No such file or directory
Dec 22 14:40:39 test198 authdaemond: Installing libauthshadow
Dec 22 14:40:39 test198 authdaemond: libauthshadow.so: cannot open shared object file: No such file or directory

ログを確認すると、authpwdとauthshadowの読み込みに失敗しているようです。
ですが、authtestコマンドで認証は成功しているのでauthpamの読み込みができて
いれば問題ないのかなと思いましたが、やはりauthpwdが読み込めないのは
問題ですか?

この状態でauthtestコマンドを実行しましたが、やはり状況はかわりませんでした。

# /usr/sbin/authtest ateam Password
Authentication succeeded.

Authenticated: ateam (system username: ateam)
Home Directory: /home/ateam
Maildir: (none)
Quota: (none)
Encrypted Password: $1$ttpFEIpJ$Wal47XT/7or2VMkHP4j3o.
Cleartext Password: Password
Options: (none)

また、ログを確認しましたが認証は成功しているようですが、
maildirがnullになっています。

<authtestを実行したときのログ>
Dec 22 15:00:31 host authdaemond: received auth request, service=login, authtype=login
Dec 22 15:00:31 host authdaemond: authpam: trying this module
Dec 22 15:00:31 host authdaemond: authpam: sysusername=ateam, sysuserid=<null>, sysgroupid=1000, homedir=/home/ateam, address=ateam, fullname=, m
aildir=<null>, quota=<null>, options=<null>
Dec 22 15:00:31 host authdaemond: pam_service=login, pam_username=ateam
Dec 22 15:00:31 host authdaemond: dopam successful
Dec 22 15:00:31 host authdaemond: Authenticated: sysusername=ateam, sysuserid=<null>, sysgroupid=1000, homedir=/home/ateam, address=ateam, fullna
me=, maildir=<null>, quota=<null>, options=<null>

authdaemonはなぜmaildirを認識できないのでしょうか?
どこかの設定に抜けがあるのでしょうか?

>OSと各デーモンなりのバージョンとか。
OSはcentOS4.4になります。
デーモンのバージョンというのはcourier-authlibのバージョンってことでしょうか?

たお
ベテラン
会議室デビュー日: 2006/10/27
投稿数: 90
投稿日時: 2006-12-22 15:39
ちなみに、メーラからのアクセス時のエラーって何ですか?
会議室デビュー日: 2004/04/13
投稿数: 18
投稿日時: 2006-12-22 16:06
>ちなみに、メーラからのアクセス時のエラーって何ですか?
メーラからのアクセス時のエラーは以下になります。

■メーラーに表示されるエラー(Becky!)
メールサーバから接続を拒否されました。
ユーザIDまたはパスワードが間違っていないかご確認下さい。
-ERR Temporary problem, please try again later

■サーバに出力されたログ
Dec 22 15:59:31 host pop3d: Connection, ip=[::ffff:202.○.○.○]
Dec 22 15:59:31 host pop3d: authdaemon: s_connect() failed: No such file or directory
Dec 22 15:59:31 host pop3d: LOGIN FAILED, user=ateam, ip=[::ffff:○.○.○.○]
Dec 22 15:59:31 host pop3d: authentication error: No such file or directory
たお
ベテラン
会議室デビュー日: 2006/10/27
投稿数: 90
投稿日時: 2006-12-22 16:49
>maildirがnullになっています。
自分のはdebianで、
/usr/sbin/courierauthtest
とうのがあり試してみました。
$ sudo /usr/sbin/courierauthtest user1
Password:
Trying authdaemon...
Authenticated: module authdaemon
Home directory: /home/user1
UID/GID: 1002/1002
AUTHADDR=user1
AUTHFULLNAME=test user,1,1,1,1
OPTIONS=<none>

maildir自体無いみたいです。
OS違うので参考にならないですけど。。

pop3d側の設定はどうですか?
>/usr/lib/courier-imap/etc/pop3dのMAILDIRPATHは下のようになっており、
>MAILDIRPATH=Maildir
とのことですが、起動スクリプトを追ってみるとか、
いかがでしょう?
debianでは上書きされてました。

rpmは手作りですか?
サイトを徘徊してたら、CentOSにはrpm無いみたいですね。

もし、手作りなら
configureのオプションやpamの設定などの
見直しがいいかもしれません。

ご参考
http://www.kajukaju.net/centos/courierimap_1.php

スキルアップ/キャリアアップ(JOB@IT)