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.