*

新サーバにMaildirディレクトリを移動させたときのトラブル

公開日: : 最終更新日:2024/05/06 備忘録, サーバ運用 , , ,

サーバを作りなおした件で、Postfix・Dovecotサーバもリストアしました。

新サーバでPostfixとDovecotをyum installしたあと、設定ファイル群(/etc/postfix/etc/dovecot)と/homersync -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の基礎と運用”]

関連記事

no image

USB外付けHDDをext4にフォーマットする手順

前エントリの玄人志向のHDDケースを買った。で出来上がった外付けHDDをフォーマットして、Cent

記事を読む

no image

rsyncで毎日自動差分バックアップを構成

毎日の明け方に、外付けHDDにrsyncバックアップをするようにした。rsyncを実行するシェルスク

記事を読む

メールサーバが少しできた。

いよっしゃああああああ!!!! 受信だけは問題なくできるようになりました。受信だけです

記事を読む

http://www.centos.org/

Cent OSサーバを1から再構成しなおした。

リストアしちゃいました。 再構成するきっかけになったのは、/パーティションをなんと2GBしかと

記事を読む

no image

MySQLからツイートを選択してツイートするPHPコード

Twitter escultura de arena / Rosaura Ochoa Ap

記事を読む

no image

NVR500でフレッツサービス情報サイト(NGN IPv4)に接続するための設定

安定性に定評のあるYAMAHAのNVR500たんを買ってもう3ヶ月になりますが、やっとこさフレッツサ

記事を読む

サーバに追加していく機能まとめ。

いろいろと本を読んでいたら錯綜してきた。 ちょっとここでこれからやることを整理する。

記事を読む

no image

メールでログを届けてくれるlogwatchをインストール

logwatchとは/var/logの内容を1日に一回メールで送ってくれるもの。 これがなかなかけ

記事を読む

最近の自宅サーバ事情

最近一番問題なのが、以前までMac miniの方で起きていた不定期にネットが切断される現象が、サーバ

記事を読む

no image

/var/log/clamav/freshclam.logの所有権がなぜか変わってしまう問題

深夜3時ごろに、Cron Daemonからこういうメールが送られてくる。 ERROR: P

記事を読む

Comment

  1. […] Postfix、Dovecotによるメールサーバ […]

ブログを移行しました

新しいブログはこちら http://queryok.ikuwow.co

ChefとAnsibleの比較 〜Ansibleはじめました〜

今まで個人のMacの環境構築には、Brewfileなるものを作成してい

no image
モチベ低い大学院生でも院進学で得られたもの

つい今月の頭に修士論文を提出して、長いプレッシャーから解放されました。

Apple Thunderbolt Displayを使って30分で理解した利点3つ

今まで研究室ではMac ProとDellのちゃちな21インチモニタで作

ニコニコ動画の動画上部のニュースを非表示にするSafari機能拡張

作りました。 HideNicoVideoNews http:/

→もっと見る

Query OK.をもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む

PAGE TOP ↑