web-dev-qa-db-ja.com

postmap:fatal:open database /etc/postfix/sasl_passwd.db:Permission denied

外部のSMTPを使用するようにPostfixを構成しています。このために、私は このチュートリアル を使用しました

それを追跡した後、ログで/etc/postfix/sasl_passwd.dbを読み取れませんでした。ファイルは存在しませんでした。ルートとしてpostmap hash:/ etc/postfix/sasl_passwd( http://postfix.state-of-mind.de/patrick.koetter/smtpauth/smtp_auth_mailservers.html )を使用しましたが、次のようになります:

postmap: fatal: open database /etc/postfix/sasl_passwd.db: Permission denied

なぜこれを取得するのですか?

OS: Fedora 14
User "postfix" exists.

更新:

Sudo ls -l /etc/postfix/sasl_passwd.db ls:

cannot access /etc/postfix/sasl_passwd.db: No such file or directory

touch /etc/postfix/sasl_passwd.db
chmod 640 /etc/postfix/sasl_passwd.db
chown postfix:root /etc/postfix/sasl_passwd.db

Sudo ls -l /etc/postfix/sasl_passwd.db

-rwxr--r--. 1 postfix root 0 Feb 19 04:16 /etc/postfix/sasl_passwd.db
-rw-r-----. 1 postfix root 0 Feb 19 04:16 /etc/postfix/sasl_passwd.db

postmap hash:/etc/postfix/sasl_passwd

postmap: fatal: cannot remove zero-length database file /etc/postfix/sasl_passwd.db: Permission denied.

chmod 777は上記と同じエラーになります。

9
James Benders

Postfixユーザーがそのファイルを読めることを確認する必要があります。 $ Sudo ls -l /etc/postfix/sasl_passwd.dbの出力を投稿して、さらにヘルプを得ることができます。

このファイルを作成するには、次のコマンドを使用できます。

$ Sudo postmap sasl_passwd

これにより、.dbファイルが作成されます。

16
Khaled

この問題は、少なくともUbuntu 12.04では、/ etc/postfixフォルダーがpostfixユーザーによって所有されていないことが原因です。 (上記のように)。

このエラーメッセージは、自分で.dbファイルを直接作成してはならないために発生します。削除した場合は、削除してください。

postmap: fatal: cannot remove zero-length database file /etc/postfix/sasl_passwd.db: Permission denied.

元の問題に対する簡単な修正は次のとおりです。

Sudo chown postfix /etc/postfix

その後、これを実行できます

Sudo postmap sasl_passwd

クリアテキストのパスワードがファイルsasl_passwdにあると想定されている場合

10
Tom Carchrae

所有者を変更する

chown root:wheel policy_file

0