権限の問題。 dovecotで受信トレイメッセージを取得できません。

権限の問題。 dovecotで受信トレイメッセージを取得できません。

WebホストからCentOS 6.6がインストールされているVPSサーバーを受信しました。さまざまな人が使用する複数のドメインがあるため、このサーバーはさまざまな役割を果たします。

  • ネームサーバー(BIND使用)(動作します!)
  • 複数ドメインのウェブサイトホスティング(Apache/MySQLを使用)(動作します!)
  • 複数ドメイン用のメールサーバー(postfix、dovecot、vimbadmin、およびroundcubeを使用)(問題)
  • 各ウェブサイトのFTPサーバー(まだインストールされていません)

私のLinux技術はあまり良くないので、すべての役割をインストールするのに役立つように、インターネット上のマニュアル/ハウツー文書を使用しました。複数のドメインのメールサーバーをインストールして構成する場合(手動:https://rtcamp.com/tutorials/mail/server/postfix-dovecot-ubuntu/)みんな一番いい。メッセージを送信できますが、/var/vmail/メールフォルダ()からメッセージを取得することはできません。私はウェブメール環境としてRoundcubeのウェブサイトを使用しています。

/var/logs/maillogファイルのエラーメッセージ

dovecot: imap([email protected]): Error: open(/var/vmail/address.com/account/dovecot.index.log) failed: Permission denied (euid=5000(vmail) egid=5000(vmail) missing +r perm: /var/vmail/address.com/account/dovecot.index.log, euid is not dir owner)
dovecot: imap([email protected]): Error: file_dotlock_create(/var/vmail/address.com/account/dovecot-uidlist) failed: Permission denied (euid=5000(vmail) egid=5000(vmail) missing +w perm: /var/vmail/address.com/account, euid is not dir owner)

フォルダ/ファイル権限( ls -l)

-rw-rwx---. 1 vmail vmail  248 Feb  7 15:52 dovecot.index.log
-rw-rw----. 1 vmail vmail   24 Feb  7 16:32 dovecot.mailbox.log
-rw-rwx---. 1 vmail vmail   51 Feb  7 15:52 dovecot-uidlist
-rw-rwx---. 1 vmail vmail    8 Feb  7 16:32 dovecot-uidvalidity
-r--rwxr--. 1 vmail vmail    0 Feb  7 15:51 dovecot-uidvalidity.54d62668

フォルダ/ファイル権限( ls -Z)

-rw-rwx---. vmail vmail unconfined_u:object_r:var_t:s0   dovecot.index.log
-rw-rw----. vmail vmail unconfined_u:object_r:var_t:s0   dovecot.mailbox.log
-rw-rwx---. vmail vmail unconfined_u:object_r:var_t:s0   dovecot-uidlist
-rw-rwx---. vmail vmail unconfined_u:object_r:var_t:s0   dovecot-uidvalidity
-r--rwxr--. vmail vmail unconfined_u:object_r:var_t:s0   dovecot-uidvalidity.54d62668

これらのアクセス許可は、新しいメールボックスを作成した後、dovecot アプリケーションによって設定されます。

追加の検索でsetenforceそのコマンドを見つけました。コマンドを入力するsetenforce 0と、roundcubeアプリケーションからメールを検索できます。メールを検索できないようにリセットしてください。

ところでどうしたの?なぜ問題なくroundcubeアプリからメッセージを送信することができますsetenforce 1unconfined_u

[2015-02-09]追加のデバッグが必要

このgrep -i AVC /var/log/audit/audit.logコマンドを使用してデバッグすると、次の行が表示されます(これはtail -n-19 ...です)。

type=AVC msg=audit(1423466977.294:254776): avc:  denied  { write } for  pid=13124 comm="imap" name="$myaccount$" dev=dm-0 ino=149839 scontext=system_u:system_r:dovecot_t:s0 tcontext=unconfined_u:object_r:var_t:s0 tclass=dir
type=AVC msg=audit(1423466977.294:254777): avc:  denied  { read write } for  pid=13124 comm="imap" name="dovecot-uidlist" dev=dm-0 ino=149846 scontext=system_u:system_r:dovecot_t:s0 tcontext=unconfined_u:object_r:var_t:s0 tclass=file
type=AVC msg=audit(1423467003.011:254782): avc:  denied  { read } for  pid=13139 comm="imap" name="$myaccount$" dev=dm-0 ino=149839 scontext=system_u:system_r:dovecot_t:s0 tcontext=unconfined_u:object_r:var_t:s0 tclass=dir
type=AVC msg=audit(1423467003.011:254783): avc:  denied  { read } for  pid=13139 comm="imap" name="$myaccount$" dev=dm-0 ino=149839 scontext=system_u:system_r:dovecot_t:s0 tcontext=unconfined_u:object_r:var_t:s0 tclass=dir
type=AVC msg=audit(1423467003.035:254784): avc:  denied  { read } for  pid=13139 comm="imap" name="$myaccount$" dev=dm-0 ino=149839 scontext=system_u:system_r:dovecot_t:s0 tcontext=unconfined_u:object_r:var_t:s0 tclass=dir
type=AVC msg=audit(1423467003.035:254785): avc:  denied  { read } for  pid=13139 comm="imap" name="$myaccount$" dev=dm-0 ino=149839 scontext=system_u:system_r:dovecot_t:s0 tcontext=unconfined_u:object_r:var_t:s0 tclass=dir
type=AVC msg=audit(1423467003.093:254786): avc:  denied  { read } for  pid=13139 comm="imap" name="tmp" dev=dm-0 ino=415518 scontext=system_u:system_r:dovecot_t:s0 tcontext=unconfined_u:object_r:var_t:s0 tclass=dir
type=AVC msg=audit(1423467003.093:254787): avc:  denied  { write } for  pid=13139 comm="imap" name="cur" dev=dm-0 ino=415516 scontext=system_u:system_r:dovecot_t:s0 tcontext=unconfined_u:object_r:var_t:s0 tclass=dir
type=AVC msg=audit(1423467003.093:254788): avc:  denied  { read write } for  pid=13139 comm="imap" name="dovecot.index.log" dev=dm-0 ino=149840 scontext=system_u:system_r:dovecot_t:s0 tcontext=unconfined_u:object_r:var_t:s0 tclass=file
type=AVC msg=audit(1423467003.093:254789): avc:  denied  { read } for  pid=13139 comm="imap" name="dovecot.index.log" dev=dm-0 ino=149840 scontext=system_u:system_r:dovecot_t:s0 tcontext=unconfined_u:object_r:var_t:s0 tclass=file
type=AVC msg=audit(1423467003.093:254790): avc:  denied  { write } for  pid=13139 comm="imap" name="$myaccount$" dev=dm-0 ino=149839 scontext=system_u:system_r:dovecot_t:s0 tcontext=unconfined_u:object_r:var_t:s0 tclass=dir
type=AVC msg=audit(1423467003.094:254791): avc:  denied  { write } for  pid=13139 comm="imap" name="$myaccount$" dev=dm-0 ino=149839 scontext=system_u:system_r:dovecot_t:s0 tcontext=unconfined_u:object_r:var_t:s0 tclass=dir
type=AVC msg=audit(1423467003.094:254792): avc:  denied  { read write } for  pid=13139 comm="imap" name="dovecot-uidlist" dev=dm-0 ino=149846 scontext=system_u:system_r:dovecot_t:s0 tcontext=unconfined_u:object_r:var_t:s0 tclass=file
type=AVC msg=audit(1423467003.206:254793): avc:  denied  { read } for  pid=13139 comm="imap" name="tmp" dev=dm-0 ino=415518 scontext=system_u:system_r:dovecot_t:s0 tcontext=unconfined_u:object_r:var_t:s0 tclass=dir
type=AVC msg=audit(1423467003.207:254794): avc:  denied  { write } for  pid=13139 comm="imap" name="cur" dev=dm-0 ino=415516 scontext=system_u:system_r:dovecot_t:s0 tcontext=unconfined_u:object_r:var_t:s0 tclass=dir
type=AVC msg=audit(1423467003.207:254795): avc:  denied  { read write } for  pid=13139 comm="imap" name="dovecot.index.log" dev=dm-0 ino=149840 scontext=system_u:system_r:dovecot_t:s0 tcontext=unconfined_u:object_r:var_t:s0 tclass=file
type=AVC msg=audit(1423467003.207:254796): avc:  denied  { read } for  pid=13139 comm="imap" name="dovecot.index.log" dev=dm-0 ino=149840 scontext=system_u:system_r:dovecot_t:s0 tcontext=unconfined_u:object_r:var_t:s0 tclass=file
type=AVC msg=audit(1423467003.207:254797): avc:  denied  { write } for  pid=13139 comm="imap" name="$myaccount$" dev=dm-0 ino=149839 scontext=system_u:system_r:dovecot_t:s0 tcontext=unconfined_u:object_r:var_t:s0 tclass=dir
type=AVC msg=audit(1423467003.208:254798): avc:  denied  { write } for  pid=13139 comm="imap" name="$myaccount$" dev=dm-0 ino=149839 scontext=system_u:system_r:dovecot_t:s0 tcontext=unconfined_u:object_r:var_t:s0 tclass=dir
type=AVC msg=audit(1423467003.208:254799): avc:  denied  { read write } for  pid=13139 comm="imap" name="dovecot-uidlist" dev=dm-0 ino=149846 scontext=system_u:system_r:dovecot_t:s0 tcontext=unconfined_u:object_r:var_t:s0 tclass=file

ベストアンサー1

SElinuxを許可モードに設定して動作するかどうか試してみますか?

sudo setenforce permissive

SElinuxポリシーが間違っているようです。ポリシーは次のとおりです。

   drwx------. vmail vmail system_u:object_r:mail_spool_t:s0 example.org

次の方法でポリシーを正しく設定できます。

sudo semanage fcontext -a -t mail_spool_t "/var/vmail(/.*)?"
sudo restorecon -Rv /var/vmail

おすすめ記事