*

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

公開日: : サーバ運用, 備忘録 , , ,

この記事の所要時間:約8分54秒

サーバを作りなおした件で、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

関連記事

CakePHPディレクトリを他サーバに移転する際に困ったこと

まだ解決できていないが、CakePHPで作ったアプリケーションを別のレンタルサーバーに移転し

記事を読む

no image

外付けHDDを起動時に自動マウントする

  前エントリでフォーマットからマウントまでやったが、自動マウントの設定を忘れていた

記事を読む

DiCEの設定の仕方まとめ

DDNSを利用している皆さんはいつもお世話になるであろう、自動IP通知ツールDiCEの登録の一部始終

記事を読む

Postfixの本をちまちま読んでいる

メールサーバはできているものの、OP25Bを乗り越えるのがうまく行かず、メールの送信だけができない状

記事を読む

no image

BackWPupでWordPressブログの全てをリストアした

サーバの再構築をした関係で、WordPressブログ(このブログ)の移動をしたのでその時のログ。以下

記事を読む

NVR500のVPN設定にめげるチンパンジー

auのiPhoneから自宅のNVR500にVPN接続は簡単にはできないっぽい

NVR500のVPN設定にめげるチンパンジー[/caption] ここ1週間ぐらい、手持ちの

記事を読む

Cent OSサーバを起動するたびにいろいろとプロセスがクラッシュする問題

いつからか、Cent OSサーバを再起動するたびに件名が" full clash repor

記事を読む

no image

公開鍵認証のSSH

サーバ構築もそろそろ守りを固めます。 SSHを公開鍵認証に。 $ ssh-keyge

記事を読む

CentOS6.4でホスト名・ドメイン名の変更に伴う諸々の設定変更

以前に新しいドメインikuwow.comを取得して、とりあえずサブのアドレスとしてホームページに飛ん

記事を読む

no image

.htaccessで旧ドメインを新ドメインにリダイレクトさせる設定

apache_server_logo / Álvaro Reig González ドメイ

記事を読む

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

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

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

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

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

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

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

作りました。 HideNicoVideoNews http:/

TOKYO HACKATHONが面白そう

最近発見したTOKYO HACKATHONという学生向けハッカ

→もっと見る

  • follow us in feedly
PAGE TOP ↑