Postfix に十分な権限を持つ Maildir ディレクトリを作成するにはどうすればよいでしょうか?

Postfix に十分な権限を持つ Maildir ディレクトリを作成するにはどうすればよいでしょうか?

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 を実行して、sestatusSELinux が有効か無効かを確認できます。

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(サーバー)は読み取りのみ可能です。

  1. ユーザーをメールに変更し、
  2. chmod 700
  3. もう一度やり直してください

関連情報