web-dev-qa-db-ja.com

ProcmailとThunderbird:所有者としてrootを使用して作成されたfolder / maildir

メールサーバーを設定しています(spamassassin + procmail + sendmail + dovecot)すべてのスパムメールを/ etc/procmailを設定したスパムフォルダにリダイレクトしたい

DEFAULT=/var/spool/mail/$LOGNAME/new
ORGMAIL=/var/spool/mail/$LOGNAME
MAILDIR=/var/spool/mail/$LOGNAME

# deliver spam to spam folder
:0:
* ^X-Spam-Status: Yes
.Spam/

そしてdovecotのメールボックス

inbox = yes
  #mailbox name {
    # auto=create will automatically create this mailbox.
    # auto=subscribe will both create and subscribe to the mailbox.
    #auto = no

    # Space separated list of IMAP SPECIAL-USE attributes as specified by
    # RFC 6154: \All \Archive \Drafts \Flagged \Junk \Sent \Trash
    #special_use =
  #}

  # These mailboxes are widely used and could perhaps be created automatically:
  mailbox Drafts {
    special_use = \Drafts
    auto = create
  }
  mailbox Spam {
    special_use = \Junk
    auto = create
  }
  mailbox Trash {
    special_use = \Trash
    auto = create
  }

テスト用にスパムメールを送信すると、Thunderbirdでフォルダーが自動的に作成されず、フォルダー(システム上に存在)にユーザー権限ではなくroot権限があることがわかります。もちろん、別のメール送信後に元の権限に戻る場合は、ルート!)

1
elbarna

見つかった解決策:

mailbox Spam {
    special_use = \Junk
    auto = create
}

なりました

mailbox Spam {
    special_use = \Junk
    auto = subscribe
}

今それは動作します

1
elbarna

DROPPRIVS=yesの先頭に/etc/procmailrcを追加します

man procmailrc

[〜#〜] dropprivs [〜#〜] `yes 'に設定すると、procmailは持っていた可能性のあるすべての特権(suidまたはsgid)を削除します。これは、/ etc/procmailrcファイルの下半分が受信者に代わって実行されることを保証したい場合にのみ役立ちます。

3
AnFi