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 1
。unconfined_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