*

新サーバに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

関連記事

a0002_001091

ドメインを取得してとりあえず使えるようにする手順

ドメイン名。ウェブページの顔ですね。ちょっとネットワークに詳しい人なら結構意識していると思います。

記事を読む

a0055_000584_m

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

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

記事を読む

no image

検索エンジンのロボットに対する命令を記述するrobots.txtについてのメモ

Robots... / jeffedoe 毎朝早朝に送られてくるlogwatchからのメールを

記事を読む

no image

自前のDropbox、ownCloudをインストールしてみる

自前のサーバを用意したら、ファイルサーバを作ってみたいと思うもの。 そこでなんと、ownClo

記事を読む

no image

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

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

記事を読む

pp_shikakuipost500-thumb-750x500-247

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

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

記事を読む

PPP_kanaamitonankinjyou500-thumb-750x500-346

最近の自宅サーバ事情

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

記事を読む

鍵とノート

ApacheにDigest認証を設定する方法

私は自鯖でownCloud、phpMyAdmin、Cactiを使っているのですが、外部に外部

記事を読む

no image

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

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

記事を読む

no image

WordPress記事にツイートを埋め込むテスト

なんとWordPressでは何もプラグインを導入しなくても、デフォルトでTwitterのツイートを貼

記事を読む

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

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

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

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

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

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

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

作りました。 HideNicoVideoNews http:/

Tokyo tower
TOKYO HACKATHONが面白そう

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

→もっと見る

  • follow us in feedly
PAGE TOP ↑