kesalahan izin: log dovecot

2

Saya mencoba menginstal exim + dovecot di server centOS saya. Dan ketika saya mencoba menjalankannya (sebagai root), saya mendapatkan pesan di bawah ini:

Memulai Dovecot Imap: Kesalahan: Tidak dapat menulis ke direktori log / var / log: Izin ditolak Fatal: Konfigurasi tidak valid di /etc/dovecot.conf

Saya bahkan mencoba untuk mengatur izin ke 777, tetapi itu tidak membantu. Saya juga memiliki masalah yang sama dengan dovecot.conf, saya memecahkan ini dengan menghapus dovecot.conf dan membuatnya lagi. Sangat menghargai atas bantuannya. Dovecot.conf saya terlihat seperti ini:

log_path = /var/log/dovecot.log

login_greeting = pop3/imap service.

protocol imap {

}

protocol pop3 {

}
pop3_uidl_format = %08Xu%08Xv

protocol lda {

  postmaster_address = [email protected]

  mail_plugin_dir = /usr/lib/dovecot/lda

}

auth default {

  mechanisms = plain login cram-md5 digest-md5

  passdb passwd-file {

  args = /etc/dovecot.passwd

  }

  userdb passwd-file {

  args = /etc/dovecot.passwd

  }

  user = root

  socket listen {

 client {

`}
pengguna801255
sumber

Jawaban:

1

Perhatikan bahwa pesannya can't write to log directory /var/log Tidak jelas dari posting Anda apakah Anda mengubah izin pada / var / log atau di /var/log/dovecot.log.

/ var / log biasanya dimiliki oleh root dengan izin 755. dovecot seharusnya dijalankan sebagai root:

Normally Dovecot logs everything through its master process, which is running as root.

dari wiki Agen Pengiriman Lokal dovecot .

Semua ini membuat saya curiga Anda entah bagaimana memulai dovecot seperti beberapa pengguna non-root lainnya. Harap berikan info tentang bagaimana tepatnya Anda memulai dovecot. Biasanya ini dilakukan oleh skrip startup sistem (sebagai root). Bergantian Anda dapat mencoba meluncurkan dovecot pada baris perintah sebagai root dengan

sudo /usr/sbin/dovecot

dan lihat apakah itu berhasil. Itu hanya untuk pemecahan masalah, Anda harus menjalankannya secara otomatis melalui skrip startup sistem.

Phil Hollenback
sumber
1

Ini adalah utas lama, tetapi saya memiliki masalah yang sama baru-baru ini jadi mulai memperbaikinya.

Saya punya server dengan dovecot yang tampaknya berjalan sebagai pengguna non-root (proses induk berjalan sebagai root, tetapi proses anak untuk layanan berjalan sebagai mail). Ini kadang-kadang dapat terjadi jika Anda mengelola server dengan panel kontrol pihak ketiga yang mengonfigurasi berbagai layanan atau aplikasi dengan izin non-standar.

Tanpa aturan logrotate yang dikonfigurasikan untuk mereka, server akhirnya hampir memenuhi disk-nya, tetapi setelah menghapus log dan memulai kembali layanan dovecot: tidak ada email masuk yang dikirim walaupun file log awalnya dibuat OK! (Saya tidak perlu ke touchfile).

Saya tidak melihat masalah ini sampai email percobaan, dikirim setelah dovecot restart pertama, tidak tiba. Namun saya kemudian menerima pemberitahuan keterlambatan pesan ke akun pengujian pengiriman saya, yang berisi pesan kesalahan dovecot.log dari server.

Saya pertama kali berlari ps aux | grep dovecotuntuk mengidentifikasi pengguna yang berjalan - itu menunjukkan beberapa proses berjalan roottetapi yang lain berjalan sebagai mail.

Di server dovecot.conf, untuk semua servicedeklarasi itu juga user = maildan group = mailgaris.

Jadi, saya berlari (baik sebagai root, atau menggunakan sudo)

chown mail:mail /var/log/dovecot*.log

lalu lari service dovecot restart

dan email mulai mengalir lagi. NB bahwa pada mesin khusus ini, dovecot.log hanya mencatat layanan restart seperti yang diatur untuk verbose logging; semua info lainnya dimasukkan ke dalam dovecot-info.logdan dovecot-debug.log.

Saya bisa melihat email datang dan dikirim dengan membuntuti log surat:

tail -fn 100 /var/log/maillog(ini mungkin dinamai seperti mail.loguntuk Anda).

Chris Woods
sumber
0

Tentu saja, Anda dapat terus berusaha menyelesaikannya dan saya yakin Anda akan melakukannya, tetapi dalam kasus-kasus seperti itu ketika semuanya berantakan, cara tercepat (bukan yang terbaik) adalah dengan:

yum remove dovecot
yum install dovecot

Kamu sudah selesai ;)

Ruslan Abuzant
sumber