新サーバにMaildirディレクトリを移動させたときのトラブル
この記事の所要時間:約8分54秒
サーバを作りなおした件で、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の基礎と運用”]
関連記事
-
WordPress記事にツイートを埋め込むテスト
なんとWordPressでは何もプラグインを導入しなくても、デフォルトでTwitterのツイートを貼
-
MacやLinuxのシェルで使えるショートカットたち
Macでは「ターミナル」、GUIのLinuxでは「端末」と呼ばれているアレです。 個人
-
USB外付けHDDをext4にフォーマットする手順
前エントリの玄人志向のHDDケースを買った。で出来上がった外付けHDDをフォーマットして、Cent
-
ドメインを取得してとりあえず使えるようにする手順
ドメイン名。ウェブページの顔ですね。ちょっとネットワークに詳しい人なら結構意識していると思います。
-
自前のDropbox、ownCloudをインストールしてみる
自前のサーバを用意したら、ファイルサーバを作ってみたいと思うもの。 そこでなんと、ownClo
-
MySQLからツイートを選択してツイートするPHPコード
Twitter escultura de arena / Rosaura Ochoa Ap
-
/tmp/orbit-ユーザ名以下の謎のファイルが/tmpパーティションを圧迫する問題
これも以前から解決していなかった問題。tmpwatchの設定を変更することで解決した。 cronか
-
NVR500でフレッツサービス情報サイト(NGN IPv4)に接続するための設定
安定性に定評のあるYAMAHAのNVR500たんを買ってもう3ヶ月になりますが、やっとこさフレッツサ
-
検索エンジンのロボットに対する命令を記述するrobots.txtについてのメモ
Robots... / jeffedoe 毎朝早朝に送られてくるlogwatchからのメールを