![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
現在、CentOS6 + dovecot-1.2.0-2el6_1.1 + postfixの組み合わせでメール環境を構築してあります。
ところが、昨日から突然クライアント(Windows上のThunderbird14.0)でメールが読めなくなってしまいました。
Thunderbirdを起動するとパスワードの入力を求められ、正しいパスワードを入力しているのですが、
「サーバ server.example.org へのログインに失敗しました。」
と表示され、もう一度パスワードの入力を求められます。
それを繰り返しているうちに画面右下のあたりに「サーバとの接続に失敗しました」と表示されます。
そこでWindowsPCから
>telnet server.example.org 143
としてサーバにつなぐと
* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE START
TLS AUTH=PLIN] Dovecot ready.
と返事が返ってきます。
そこで
A LOGIN ユーザ名 パスワード
と入力すると
* BYE Internal error occurred. Refer to server log for more information.
と表示され、即効で
ホストとの接続が切断されました。
と表示され、接続が切断されます。
logを見て確認しようと思ったのですが、dovecotがどこにメッセージをはいているのかわからず、ここままでお手上げになってしまいました。
ちなみに
/etc/dovecot/conf.d/10-auth.conf
には
disable_plaintext_auth = no
としてあり、
上記のユーザ名とパスワードはコンソールからログインするときに使うプレインテキストを使っています。
また、メール送信は問題なく、受信もhome/Maildir/new/の中のファイルを直接lessしたところ問題ないことを確認してあります。
今、別のアカウントを作って試してみたところ受信のエラーも出ず、telnetしてa loginしてみても
a OK [CAPABILITY IMAP4rev1 LITERAL+ SASL -IR LOGIN-REFERRALS ID ENABLE IDLE SORT
SORT=DISPLAY THREAD=REFERENCES THREAD=REFS MULTIAPPEND UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESSORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS] Logged in
と表示され、無事ログインできます。
となると、私のアカウントのみがログインできない状態になってしまっているようです。
どなたか、ここが怪しいといった点でも結構ですので、ヒントをいただけないでしょうか?
No.3ベストアンサー
- 回答日時:
>もしよろしければ、コンテキストの変更方法を教えていただけないでしょうか?
chcon --helpとか、man chconすると
--referenceってオプションの存在に気付くかと…。
たしかディレクトリでもOKだったかと。
restorecond辺りがコンテキストとか戻してしまった…のかもしれません。
度々のご回答ありがとうございます。
chconについて調べてみて、コンテキストの書き換えは無事できました。
続いて、
# setenforce 1
にして、クライアントからメールを読み込もうとすると、またもエラーが出て、コンテキストが見たこともないものに書き換わってしまいました。
そこで、chconについてググってみますと似たようなコマンドでsemanageというものを見つけました。
そこで、
# semanage fcontext -a -t user_home_t:s0 /home/ユーザ名/Maildir
# semanage fcontext -a -t user_home_t:s0 "/home/ユーザ名/Maildir/.*"
# restorecon -R /home/ユーザ名/Maildir/
としてみたところ、コンテキストの書き換えがMaildir以下すべてのファイルとディレクトリについて出来ました。
すると今度はクライアントPCから無事読み込むことができました。
一応
# semanage fcontext -d -t user_home_t:s0 /home/ユーザ名/Maildir
# semanage fcontext -d -t user_home_t:s0 "/home/ユーザ名/Maildir/.*"
としても問題なく読み込むことができました。
これが、正解かわかりませんが、とりあえず使えるようになったというご報告まで。
ありがとうございました。
No.2
- 回答日時:
>できればSELinuxを有効にしたままで運用したいのですが、どなたかヒントでも結構ですので、ご教示をお願いいたします。
ユーザーのホームディレリクトリの下に置いているようなので…
タイプとかその辺りの問題でしょう。
ls -laZ /home/ユーザ名/Maildir
って感じで情報が出てくるかと。
chconコマンドで設定できるはずです。
# どう設定するのが正しいのか…については不明。
/var/log/audit/audit.logに何か残っているかも知れません。
ご回答ありがとうございます。
ご指摘いただいたログを見たところ、
type=USER_AUTH msg=audit(1345077764.478:34286): user pid=3369 uid=0 auid=500 ses=1 subj=unconfined_u:system_r:dovecot_auth_t:s0 msg='op=PAM:authentication acct="ユーザ名" exe="/u" hostname=xxx.xxx.xxx.xxx addr=xxx.xxx.xxx.xxx terminal=dovecot res=failed'
という行が見られました。(ログの見方がわからないので、おそらくこの行だろうという行を書きました。)
また、
ls -laZ ~/
としてみると(SELinuxに関する部分だけ記述します。)
system_u:object_r:user_home_t:s0 .Drafts
unconfined_u:object_r:user_home_t:s0 new
unconfined_u:object_r:user_home_t:s0 tmp
といった具合に2種類のコンテキストが混在しています。
また、~/Maildir自体は
unconfined_u:object_r:mail_home_rw_t Maildir
となっています。
これが別のメールの読めるユーザに関しては
system_u:object_r:user_home_t:s0 Maildir
となっています。
ここら辺が怪しいなと思うのですが、コンテキストの変更方法がわからないため、手詰まりになってしまいました。
もしよろしければ、コンテキストの変更方法を教えていただけないでしょうか?
また、正しいコンテキストをご存知の方がおいででしたら、ぜひそちらについてもお願いします。
No.1
- 回答日時:
/etc/dovecot/conf.d/ の中に 10-logging.conf というファイルがありませんか?
あれば、その中に log_path という設定項目でログの出力先が設定されていると思います。
この回答への補足
ご指摘いただいたファイルを読んでいたところ、どうやら
/var/log/maillog
にログが出力されていそうだということがわかりました。
そこで上記のファイルを見ると
Aug 16 17:08:25 サーバ名 dovecot: imap-login: Login: user=<ユーザ名>, method=PLAIN, rip=xxx.xxx.xxx.xxx, lip=yyy.yyy.yyy.yyy, mpid=9662, TLS
Aug 16 17:08:25 bonito dovecot: imap(ユーザ名): Error: user ユーザ名: Initialization failed: Initializing mail storage from mail_location setting failed: stat(/home/ユーザ名/Maildir) failed: Permission denied (euid=500(ユーザ名) egid=500(ユーザ名) missing +r perm: /home/ユーザ名/Maildir, euid is not dir owner)
Aug 16 17:08:25 サーバ名 dovecot: imap(ユーザ名): Error: Invalid user settings. Refer to server log for more information.
となっていました。
(xxx.xxx.xxx.xxxはクライアントのIP、yyy.yyy.yyy.yyyはサーバのIP)
euid is not dir owner
という部分が気になったので調べてみたところ、どうやらSELinuxの問題らしいというところまでわかりました。
試しに
# setenforce 0
とすると、Thunderbirdでメールが読めました。
しかし、
# setenforce 1
とすると、やはりエラーになってしまいます。
なんとかここまでは調べたのですが、ここで手詰まりになってしまいました。
できればSELinuxを有効にしたままで運用したいのですが、どなたかヒントでも結構ですので、ご教示をお願いいたします。
早速のご回答ありがとうございます。
ご指摘いただいたファイルを見たところ、
plugin{
}
の2行以外すべて#でコメントになっていました。
この場合、ログはどこに出力されるのでしょうか?
/var/log/syslogあたりかと思ったのですが、そもそも/var/log/syslogが存在しません。
syslogに出力するような設定が必要なのでしょうか?
よろしければ、そこらへんも含めてご教示いただけるとありがたいです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・【大喜利】【投稿~8/27】 こんなガソリンスタンド二度と来るか!なぜそう思った?
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・【お題】動物のキャッチフレーズ
- ・【お題】甲子園での思い出の残し方
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・自分用のお土産
- ・人生で一番お金がなかったとき
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・ちょっと先の未来クイズ第1問
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
パスワード設定していないユー...
-
リモートデスクトップ接続でパ...
-
パスワード変更を促すメッセー...
-
Linux パスワードを無しにして...
-
root のパスワード
-
共有フォルダにアクセスする際...
-
フォルダにパスワードをかけた...
-
Win7アカウント作成で全アカウ...
-
vsftpd でのユーザーに対するパ...
-
CUPSを使ったネットワークプリ...
-
AIX V4 を NISサーバにして ユ...
-
ネットワークパスワードの入力...
-
Mac OS Xの管理者名とパスワード
-
Linuxでパスワード変更時に「it...
-
鍵付きフォルダー
-
ubuntuのパスワードについて
-
ログインパスワードが変更できない
-
squirrelmail ユーザー名とパ...
-
Macのパスワード設定と、ログに...
-
1Passwordで新生銀行にログイ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
パスワード設定していないユー...
-
リモートデスクトップ接続でパ...
-
Linuxでパスワード変更時に「it...
-
パスワード変更を促すメッセー...
-
vsftpd でのユーザーに対するパ...
-
Time Machine設定 ユーザ名と...
-
共有フォルダにアクセスする際...
-
ログインパスワードが変更できない
-
Ubuntu(zorin os)でパスワード...
-
CUPSを使ったネットワークプリ...
-
root のパスワード
-
rlogin と rhosts の設定
-
WindowsとLinuxがネットワーク...
-
ネットワークパスワードの入力...
-
dovecotからメールを取り出せま...
-
ALOMのパスワードを忘れた場合
-
円マーク円マークIPはなんてい...
-
No password hashes loaded
-
MyDNS.JP新システム移行DiCEで...
-
PuppyLinux 既存ユーザのパスワ...
おすすめ情報