
長年にわたり (EL6 以前)、私は /etc/aliases ファイルで次のようなエントリを正常に使用してきました。
bugs: /var/spool/mail/bugs
非ユーザーへのメールをファイルに押し込んで、後で処理したりアーカイブしたりできるという考えです。RHEL7 または CentOS7 を使用している場合、これらのエントリによって次の 2 つのエラーが発生します。
まず、バグ ファイルを作成せずに、maillog エラー「排他的にファイルを作成できません: 権限が拒否されました」が発生します。
May 16 12:17:04 foobar postfix/local[17510]: 3D313673442: to=<[email protected]>, relay=local, delay=0.12, delays=0.08/0.02/0/0.02, dsn=5.2.0, status=bounced (cannot append message to file /var/spool/mail/bugs: cannot create file exclusively: Permission denied)
次に、適切な所有権とコンテキストを持つファイルを事前に作成する場合:
ls -l /var/spool/mail/bugs
-rw-rw----. 1 postfix mail 0 May 7 19:34 /var/spool/mail/bugs
ls -Z /var/spool/mail/bugs
-rw-rw----. postfix mail system_u:object_r:mail_spool_t:s0 /var/spool/mail/bugs
「ロックファイルを作成できません」というエラーが表示されます
May 16 12:11:43 foobar postfix/local[17422]: warning: unable to create lock file /var/spool/mail/bugs.lock: Permission denied
次の恐ろしい権限 (1777 および 666) を持つファイルにメッセージを配信することはできますが、これはセキュリティ上の理由から明らかに受け入れられません。
# ll -d /var/spool/mail; ll /var/spool/mail/bugs
drwxrwxrwt. 2 root mail 52 May 16 13:36 /var/spool/mail
-rw-rw-rw-. 1 postfix mail 6913 May 16 13:31 /var/spool/mail/bugs
EL7 は postfix-2.10 風ですが、動作する EL6 は postfix-2.6 風です。
答え1
この問題を解決するには、新しいユーザーを作成せずに、main.cf
パラメータを設定しますdefault_privs = mail
。
default_privs に root または postfix を使用することは推奨されないことに注意してください。