プログラムブログ

PHP、Database、ネットワーク、サーバセキュリティ

courier-imapではまる

新しくインストールしたマシン(FreeBSD)にcourier-imap 4.3.1をインストールしたときに設定ではまったので、自分用のメモとして残しておく。

courier-authlibの認証設定をおこない、Courier-imapに接続しようとすると次のエラーになる。

Account’s mailbox directory is not owned by the correct uid or gid

メーラから接続しても、手動で次のコマンドをたたいても同様。

telnet IP 143
0000 CAPABILITY
0001 LOGIN “ユーザ名” “パスワード”

いろいろ調べたところ、 Maildirのuidとgidが/etc/passwdと一致していないことが原因のようだ。
今まで特に気にせず正常動作しているサーバが何台かあるのだが、uidとgidが/etc/passwdと一致していたためエラーがでていなかったよう だ。今回はなぜか/etc/passwdに記載しているgidと、Maildirのgidが異なっていたためエラーになった。

結局 Maildir以下をchgrp して解決。

ちなみにソースコードではimapd.cのこのあたりでそのチェックを行っている。

if (atoi(p))
{
if ( buf.st_uid != geteuid() ||
buf.st_gid != getegid())
write_error_exit("Account's mailbox directory is not owned by the correct uid or gid");
}

No comments yet. Be the first.

Leave a reply