postmap: fatal: buka database /etc/postfix/sasl_passwd.db: Izin ditolak


9

Saya mengkonfigurasi Postfix untuk menggunakan smtp eksternal. Untuk ini, saya menggunakan tutorial ini

Setelah mengikutinya, saya menemukan di log yang /etc/postfix/sasl_passwd.dbtidak dapat dibaca. File tidak ada. Saya menggunakan hash postmap: / etc / postfix / sasl_passwd ( http://postfix.state-of-mind.de/patrick.koetter/smtpauth/smtp_auth_mailservers.html ) sebagai root, tapi saya mendapatkan:

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

Mengapa saya mendapatkan ini?

OS: Fedora 14
User "postfix" exists.

Memperbarui:

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 memberikan kesalahan yang sama seperti di atas.

Jawaban:


16

Anda perlu memastikan bahwa pengguna postfix dapat membaca file itu. Anda dapat memposting output $ sudo ls -l /etc/postfix/sasl_passwd.dbuntuk mendapatkan bantuan lebih lanjut.

Untuk membuat file ini, Anda dapat menggunakan perintah:

$ sudo postmap sasl_passwd

Ini akan membuat .dbfile.


OK, saya mendapat: sudo ls -l /etc/postfix/sasl_passwd.db ls: tidak dapat mengakses /etc/postfix/sasl_passwd.db: Tidak ada file atau direktori seperti itu yang menyentuh /etc/postfix/sasl_passwd.db chmod 640 / etc / postfix postfix chown /sasl_passwd.db: 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: tidak dapat menghapus file basis data nol panjang /etc/postfix/sasl_passwd.db: Izin ditolak chmod 777 memberikan hal yang sama.
— James Benders

Jadi, file tersebut tidak ada. Anda perlu membuatnya atau menemukan yang benar.
— Khaled

Terima kasih atas balasan Anda, saya memperbarui jawaban saya. Silakan lihat di atas.
— James Benders

Ini tidak jelas. Tolong, edit pertanyaan Anda sebagai gantinya! Apakah Anda membuat file menggunakan touch? Ini mungkin tidak sesuai.
— Khaled

OK selesai. Ya saya menggunakan sentuhan, bagaimana saya membuatnya?
— James Benders

10

Masalah ini, setidaknya pada Ubuntu 12.04, disebabkan oleh folder / etc / postfix yang tidak dimiliki oleh pengguna postfix. (seperti yang disimpulkan di atas).

Pesan kesalahan disebabkan karena Anda tidak harus secara langsung membuat file .db sendiri. Jika sudah, hapus saja.

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

Perbaikan sederhana untuk masalah aslinya adalah:

sudo chown postfix /etc/postfix

Setelah itu, Anda bisa menjalankan ini

sudo postmap sasl_passwd

Di mana diasumsikan kata sandi teks Anda yang jelas ada di file sasl_passwd


1
Dikonfirmasi masih menjadi masalah @ 14.04
— tamouse

dan dalam 16,04 lts
— oligofren

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.