
CentOS 5.5にPostfixをインストールしています。地元配信エージェントをデフォルト設定のままにしていますが、メールを保存したいのですがMaildir ディレクトリスタイルのメールボックス。
メールボックスを(デフォルトで)保存するように設定した場合:
mail_spool_directory = /var/spool/mail/
そして、maildir を手動で作成すると、次のようになります。
[root@dx2200 /]# ls -lah /var/spool/mail/
total 32K
drwxrwxr-x 4 root mail 4.0K Mar 15 15:01 .
drwxr-xr-x 13 root root 4.0K Mar 15 14:33 ..
drwxr-xr-x 5 root root 4.0K Mar 15 14:52 marshra
drwxr-sr-x 5 pedro mail 4.0K Mar 15 15:01 pedro
[root@dx2200 /]#
[root@dx2200 /]# ls -lah /var/spool/mail/pedro/
total 40K
drwxr-sr-x 5 pedro mail 4.0K Mar 15 15:01 .
drwxrwxr-x 4 root mail 4.0K Mar 15 15:01 ..
drwxr-sr-x 2 pedro mail 4.0K Mar 15 15:01 cur
drwxr-sr-x 2 pedro mail 4.0K Mar 15 15:01 new
drwxr-sr-x 2 pedro mail 4.0K Mar 15 15:03 tmp
[root@dx2200 /]#
そして、ローカル ユーザーにメールを送信しようとするとpedro
、メッセージは配信されず、次の/var/log/maillog
ように表示されます。
Mar 15 15:11:00 dx2200 postfix/local[4266]: warning: maildir access problem for UID/GID=1014/1014: error writing message: Permission denied
Mar 15 15:11:00 dx2200 postfix/local[4266]: warning: perhaps you need to create the maildirs in advance
Mar 15 15:11:00 dx2200 postfix/local[4266]: 8D5D11310056: to=<[email protected]>, orig_to=<pedro>, relay=local, delay=0.04, delays=0.02/0.01/0/0.01, dsn=5.3.0, status=bounced (maildir delivery failed: error writing message: Permission denied)
私も同じような問題を抱えていましたバーチャル配信エージェントvirtual_mailbox_base
から/var/spool/vmail
ホームディレクトリへの変更は/home/vmail
役立ちました。地元配達業者ですか?そしてそうならば- なぜメールを保存できないのですか/var/spool
?
答え1
編集:コメントに従って回答を完全に書き直しました
この問題は SELinux に関連している可能性があります。eg を実行して、sestatus
SELinux が有効か無効かを確認できます。
maildir配信の場合、postfixは対応するユーザーに変更するため、宛先ディレクトリはユーザーが書き込み可能である必要があります。これはすでに行われているようです。プライバシー上の理由から、私はchmod -R o-rwx /var/spool/mail/*
完全を期すために:mbox ファイルを使用する場合、スプール ディレクトリは、mail
を使用して取得したグループによって書き込み可能である必要がありますchmod -R g+rwX /var/spool/mail
。
答え2
SELinuxポリシーをコマンドラインとして書き込むことを許可する
semanage permissive -a postfix_local_t
答え3
間違った権限を持つサブディレクトリの下のユーザー ディレクトリでも同じエラーが発生しました。たとえば、「user1」のホーム ディレクトリは でした/home/subdir/user1
。また、サブディレクトリには「others」の実行権限がありませんでした。
chmod 755 /home/subdir
私の場合は問題が修正されました。ユーザー ディレクトリの権限は依然として「700」のままです。
拒否された権限はユーザーのディレクトリではなく、その上のディレクトリにあったため、エラー メッセージは誤解を招くものでした。
答え4
あなたの権限:
drwxr-sr-x 2 pedro mail xxxx cur,new,tmp
pedro(あなた)だけが書き込み可能で、mail(サーバー)は読み取りのみ可能です。
- ユーザーをメールに変更し、
chmod 700
- もう一度やり直してください