新サーバにMaildirディレクトリを移動させたときのトラブル
サーバを作りなおした件で、Postfix・Dovecotサーバもリストアしました。
新サーバでPostfixとDovecotをyum install
したあと、設定ファイル群(/etc/postfix
と/etc/dovecot
)と/home
をrsync -av
で旧サーバのものにごっそり入れ替え。メールの中身も設定も全てこれで受け継がれる。
しかし問題が発生。メールの送受信が上手くいかない。MacのMailがエラーを吐き続ける。/var/log/maillog
を見ると以下のようになっていた。
Jun 8 10:45:45 hostname dovecot: imap(user): Error: opendir(/home/user/Maildir/tmp) failed: Permission denied Jun 8 10:45:45 hostname dovecot: imap(user): Error: open(/home/user/Maildir/dovecot.index.log) failed: Permission denied (euid=500(user) egid=500(user) missing +r perm: /home/user/Maildir/dovecot.index.log, euid is not dir owner) Jun 8 10:45:45 hostname dovecot: imap(user): Error: open(/home/user/Maildir/dovecot-uidlist) failed: Permission denied Jun 8 10:45:45 hostname dovecot: imap(user): Error: open(/home/user/Maildir/dovecot-uidlist) failed: Permission denied“Permission denied”??
rsync -a
なら所有権も全てそのままコピーされるはずだけど。chmod -R user.user ~/Maildir
しても何も変化なし・・・・。かなりハマりました。調べてみると上の
"euid is not dir owner"
がどうもポイントのようだ。EUID(実効ユーザID)とやらが正しくないから、SELinuxに引っかかってるということらしい。EUIDはls
に-Z
オプションをつけるとファイルのSELinuxの「コンテキスト」を表示できる。$ ls -lZ ~/Maildir drwx------. user user unconfined_u:object_r:home_root_t:s0 cur -rw-------. user user unconfined_u:object_r:home_root_t:s0 dovecot-keywords -rw-------. user user unconfined_u:object_r:home_root_t:s0 dovecot-uidlist -rw-------. user user unconfined_u:object_r:home_root_t:s0 dovecot-uidvalidity -r--r--r--. user user unconfined_u:object_r:home_root_t:s0 dovecot-uidvalidity.5161460f -rw-------. user user unconfined_u:object_r:home_root_t:s0 dovecot.index -rw-------. user user unconfined_u:object_r:home_root_t:s0 dovecot.index.cache -rw-------. user user unconfined_u:object_r:home_root_t:s0 dovecot.index.log -rw-------. user user unconfined_u:object_r:home_root_t:s0 dovecot.mailbox.log drwx------. user user unconfined_u:object_r:home_root_t:s0 new -rw-------. user user unconfined_u:object_r:home_root_t:s0 subscriptions drwxrwxrwx. user user unconfined_u:object_r:home_root_t:s0 tmpよく意味は分からないが、例えば”unconfied_u:object_r:home_root_t:s0″は”(ユーザ):(ロール):(タイプ):(謎)”となっているところまでは理解した。
SELinuxコンテキストがおかしくなった場合、
restorecon
というコマンドでその名の通り適切なものに戻してくれるらしい。$ restorecon -R ~/Maildirこの結果が以下。タイプが全て
mail_home_rw_t
となったのを確認した。$ ls -lZ ~/Maildir drwx------. user user unconfined_u:object_r:mail_home_rw_t:s0 cur -rw-------. user user unconfined_u:object_r:mail_home_rw_t:s0 dovecot-keywords -rw-------. user user unconfined_u:object_r:mail_home_rw_t:s0 dovecot-uidlist -rw-------. user user unconfined_u:object_r:mail_home_rw_t:s0 dovecot-uidvalidity -r--r--r--. user user unconfined_u:object_r:mail_home_rw_t:s0 dovecot-uidvalidity.5161460f -rw-------. user user unconfined_u:object_r:mail_home_rw_t:s0 dovecot.index -rw-------. user user unconfined_u:object_r:mail_home_rw_t:s0 dovecot.index.cache -rw-------. user user unconfined_u:object_r:mail_home_rw_t:s0 dovecot.index.log -rw-------. user user unconfined_u:object_r:mail_home_rw_t:s0 dovecot.mailbox.log drwx------. user user unconfined_u:object_r:mail_home_rw_t:s0 new -rw-------. user user unconfined_u:object_r:mail_home_rw_t:s0 subscriptions drwxrwxrwx. user user unconfined_u:object_r:mail_home_rw_t:s0 tmpこのあと直ちにメールの送受信が可能になった。SELinuxで引っかかって問題が起こったのはこれが初めてなのでかなり路頭に迷ってしまった。SELinuxをdisabledにする気持ちもわかる。個人レベルのサーバだと必要ないのかもね。
SELinuxに関してこちらのサイトがわかり易かったので載せておきます。
http://www.kozupon.com/security/selinux.html[amazonjs asin=”4873112257″ locale=”JP” title=”SELinuxシステム管理 ―セキュアOSの基礎と運用”]
関連記事
-
USB外付けHDDをext4にフォーマットする手順
前エントリの玄人志向のHDDケースを買った。で出来上がった外付けHDDをフォーマットして、Cent
-
rsyncで毎日自動差分バックアップを構成
毎日の明け方に、外付けHDDにrsyncバックアップをするようにした。rsyncを実行するシェルスク
-
メールサーバが少しできた。
いよっしゃああああああ!!!! 受信だけは問題なくできるようになりました。受信だけです
-
Cent OSサーバを1から再構成しなおした。
リストアしちゃいました。 再構成するきっかけになったのは、/パーティションをなんと2GBしかと
-
MySQLからツイートを選択してツイートするPHPコード
Twitter escultura de arena / Rosaura Ochoa Ap
-
NVR500でフレッツサービス情報サイト(NGN IPv4)に接続するための設定
安定性に定評のあるYAMAHAのNVR500たんを買ってもう3ヶ月になりますが、やっとこさフレッツサ
-
サーバに追加していく機能まとめ。
いろいろと本を読んでいたら錯綜してきた。 ちょっとここでこれからやることを整理する。
-
メールでログを届けてくれるlogwatchをインストール
logwatchとは/var/logの内容を1日に一回メールで送ってくれるもの。 これがなかなかけ
-
最近の自宅サーバ事情
最近一番問題なのが、以前までMac miniの方で起きていた不定期にネットが切断される現象が、サーバ
-
/var/log/clamav/freshclam.logの所有権がなぜか変わってしまう問題
深夜3時ごろに、Cron Daemonからこういうメールが送られてくる。 ERROR: P
Comment
[…] Postfix、Dovecotによるメールサーバ […]