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


9

外部の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 上記と同じエラーが発生します。

回答:


16

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

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

$ sudo postmap sasl_passwd

これで.dbファイルが作成されます。


OK、私は得ました:sudo ls -l /etc/postfix/sasl_passwd.db ls:/etc/postfix/sasl_passwd.dbにアクセスできません:そのようなファイルまたはディレクトリは/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 remove-length database file /etc/postfix/sasl_passwd.db:Permission denied chmod 777同じを与える。
James Benders、2011

したがって、ファイルは存在しません。作成するか、正しいものを見つける必要があります。
Khaled

お返事ありがとう、私は私の答えを更新しました。上記をご覧ください。
James Benders、2011

これは不明確です。代わりに、質問を編集してください!を使用してファイルを作成しましたtouchか?これは適切でない場合があります。
Khaled

了解しました。はい、タッチを使用しましたが、それ以外の場合はどうすれば作成できますか?
James Benders、2011

10

この問題は、少なくとも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にあると想定されている場合


1
14.04で問題が確認されました
tamouse 2015

そして16.04 lts
オリゴフレン

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.