[Memo2018][ITPASS]Dovecot のインストールと設定
dovecot のインストールと設定
dovecot の取得
dovecot をパッケージからインストールした.
# apt-get install dovecot-imapd
dovecotの設定
dovecot の設定は /etc/dovecot/conf.d 以下のファイルで行った. 以下のように各ファイルにおいて設定した. 必要な部分のコメントアウトを外して設定した (なお, 初めからコメントアウトされている値はデフォルトの値となっている).
# cd /etc/dovecot/conf.d
具体的には以下の通り.
10-auth.conf
disable_plaintext_auth = no #平文でのログインを許す auth_mechanism = plain cram-md5 #include auth-system.conf.ext (コメントアウトする) !include auth-passwdfile.conf.ext
10-mail.conf
mail_location = mbox:~/:INBOX=~/Mailbox #保存形式 mail_privileged_group =mail mbox_read_locks = flock mbox_write_locks = dotlock flock
10-master.conf
service imap-login port = 143 service imap process_limit = 256 service auth-worker user = root
10-logging.conf.
log_timestamp = "%Y-%m-%d %H:%M:%S "
auth-passwdfile.conf.ext
passdb args = scheme=CRAM-MD5 username_format=%u /etc/dovecot.cram-md5 #パスワードの認証方法. dovecot.crma-md5というパスワードファイルからパスワードを読み込む userdb args = username_format=%u /etc/dovecot.cram-md5 #ユーザの認証方法. dovecot.cram-md5というパスワードファイルから読み込む
dovecot を再起動した.
# service dovecot restart
dovecot の動作を確認した.
# service dovecot status
認証データベースファイルの作成
パスワードファイルである /etc/dovecot.cram-md5 を書いた.
具体的には以下の通り. 赤く強調されているところが実際のパスワードとユーザ情報である. xxxxxxxはパスワード.
# CRAM-MD5 authentication database # Entries are in form <user>:{plain}<password>:<uid>:>gid<::>Home dir< # or <user>:{CRAM-MD5}<cram_md5 password>:<uid>:>gid<::>Home dir< # Lines starting with "#" are comments chikuwaXX:{plain}xxxxxx:4000X:4000X::/home/chikuwaXX
パーミッション, ファイルの所有者を変更した.
# chmod 400 /etc/dovecot.cram-md5 # chown dovecot:dovecot /etc/dovecot.cram-md5
MD5 認証データベースファイル自動生成
CRAM_MD5 の認証データベースファイル /etc/dovecot.cram-md5 の書き込みには root 権限が要る. そのため imap 認証のパスワードを各ユーザが編集することはできない.そこで apop 認証パスワード ~/Maildir/.password を読み出して /etc/cram-md5.pwd を生成するスクリプト dovecotpwdbg を書いた.
$ wget http://www.ep.sci.hokudai.ac.jp/~epmail/y2015/dvlop/script/dovecotpwdbg $ sudo -s # cp dovecotpwdbg /etc/cron.daily/dovecotpwdbg
パーミッションを変更した.
# chmod 755 /etc/cron.daily/dovecotpwdbg
より頻繁にこのデータベースを更新するために cron を用いた.
# export EDITOR=vi # crontab -e
以下の一行を追加した.
50 * * * * /etc/cron.daily/dovecotpwdbg
テスト
tako の外のホストから, imap 対応メーラー(例. Thunderbird)を用いて imap サーバを tako に指定して, tako 上の自分のアカウントあてに届いたメールを確認した. メーラの設定は以下の通り. 受信サーバ: IMAP サーバのホスト名: tako-itpass.scitec.kobe-u.ac.jp 受信サーバのポート番号: 143 受信サーバのSSL: 接続の保護なし 認証方式: 暗号化されたパスワード認証
ntpdate との関係
dovecot は ntpdate 等で時刻を調節する際に,5 秒ほどずれているとサービスを停止してしまう. そのため,cron.daly でntpdate を実行させる場合にはdovecot が停止しても restart できるようにする.具体的には /etc/cron.daily/ntpdate に以下の行を追加した.
service dovecot restart > /dev/null 2>&1
Keyword(s):
References:[[ITPASS2018]2018年度サーバ構築ログ]