Skocz do zawartości

Dovecot , Postfix - Błąd W Konfiguracji


ngtools

Rekomendowane odpowiedzi

Postanowiłem stworzyć sobie mały serwer pocztowy. Zdecydowałem się ostatecznie na połączenie:

postfix , dovecot, postfixadmin, baza danych z kontami na mysql (tabelestworzone przez postfixadmin'a). Wszystko na CentOS6.

 

Jednak serwer nie działa. Pogubiłem się ze wstępną konfiguracją. Logi podczas połączenia z Outlooka:

# tail -f /var/log/dovecot-debug.log

Sep 26 11:14:58 imap([email protected]): Debug: Effective uid=89, gid=89, home=/mail/biuro/

Sep 26 11:14:58 imap([email protected]): Debug: Home dir not found: /mail/biuro/

Sep 26 11:14:58 imap([email protected]): Debug: maildir++: root=/mail/biuro//Maildir, index=, control=, inbox=/mail/biuro//Maildir/.INBOX

Sep 26 11:14:58 imap([email protected]): Debug: Namespace : Permission lookup failed from /mail/biuro//Maildir

Sep 26 11:14:58 imap([email protected]): Debug: Namespace : Using permissions from /mail/biuro//Maildir: mode=0700 gid=-1

Sep 26 11:15:21 imap([email protected]): Debug: Effective uid=89, gid=89, home=/mail/biuro/

Sep 26 11:15:21 imap([email protected]): Debug: Home dir not found: /mail/biuro/

Sep 26 11:15:21 imap([email protected]): Debug: maildir++: root=/mail/biuro//Maildir, index=, control=, inbox=/mail/biuro//Maildir/.INBOX

Sep 26 11:15:21 imap([email protected]): Debug: Namespace : Permission lookup failed from /mail/biuro//Maildir

Sep 26 11:15:21 imap([email protected]): Debug: Namespace : Using permissions from /mail/biuro//Maildir: mode=0700 gid=-1

 

Uprawnienia do katalogu /mail gdzie będę przechowywał korespondencje:

# ls -alF | grep mail

drwxrwxrwt. 2 postfix postfix 4096 09-23 15:39 mail/

 

Konfig Dovecota:

# dovecot -n

# 2.0.beta6 (3156315704ef): /etc/dovecot/dovecot.conf

# OS: Linux 2.6.32-71.el6.i686 i686 CentOS Linux release 6.0 (Final)

debug_log_path = /var/log/dovecot-debug.log

first_valid_gid = 0

first_valid_uid = 0

info_log_path = /var/log/dovecot-info.log

log_path = /var/log/dovecot.log

mail_debug = yes

mail_gid = postfix

mail_location = maildir:~/Maildir:INBOX=~/Maildir/.INBOX

mail_privileged_group = postfix

mail_uid = postfix

mbox_write_locks = fcntl

passdb {

args = /etc/dovecot-mysql.conf

driver = sql

}

postmaster_address = [email protected]

service auth {

unix_listener /var/spool/postfix/private/auth {

group = postfix

mode = 0600

user = postfix

}

user = $default_internal_user

}

ssl_cert = </etc/pki/dovecot/certs/dovecot.pem

ssl_key = </etc/pki/dovecot/private/dovecot.pem

userdb {

args = uid=postfix gid=postfix home=/mail/%n/

driver = static

}

 

 

 

Plik do bazy mysql:

# cat /etc/dovecot-mysql.conf

 

# dovecot ver = 1.0.7 - 1.1.3 compatible

driver = mysql

connect = host=/var/lib/mysql/mysql.sock dbname=postfix user=******** password=*********

 

password_query = SELECT `username` as `user`, `password` FROM `mailbox` WHERE `username` = '%n@%d' AND `active`='1';

user_query = SELECT "" AS `home`, 93 AS `uid`, 93 AS `gid` FROM `mailbox` WHERE `username` = '%n@%d' AND `active`='1';

Z tym że nie wiem czy poprawna jest komenda user_query.

 

 

Tabela w bazie mysql:

mysql> show tables;

+-----------------------+

| Tables_in_postfix |

+-----------------------+

| admin |

| alias |

| alias_domain |

| config |

| domain |

| domain_admins |

| fetchmail |

| log |

| mailbox |

| quota |

| quota2 |

| vacation |

| vacation_notification |

+-----------------------+

13 rows in set (0.00 sec)

 

Pomożecie ?

Odnośnik do komentarza
Udostępnij na innych stronach

A Dovecot ma prawa do tworzenia katalogów w / (root directory)? czy /mail istnieje? A jeśli /mail istnieje, to czy Dovecot ma prawa tworzyć w nim podkatalogi?

 

 

Prawa do katalogu podałem wyżej.

Na innym forum dostałem poradę by wyłączyć SELinux'a i pomogło. Skrzynka się utworzyła. W międzyczasie dużo zmieniałem w konfiguracji.

Obecnie wygląda ona tak:

 

 

Postfix:

[[email protected]]# postconf -n

broken_sasl_auth_clients = yes

config_directory = /etc/postfix

home_mailbox = Maildir/

inet_interfaces = all

mailbox_command = /usr/libexec/dovecot/deliver

mailbox_transport = dovecot

mydestination = $myhostname, $mydomain

mydomain = domain.com

myhostname = mail.domain.com

mynetworks = 127.0.0.0/8

myorigin = $mydomain

smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination

smtpd_sasl_auth_enable = yes

smtpd_sasl_authenticated_header = yes

smtpd_sasl_path = private/auth

smtpd_sasl_security_options = noanonymous

smtpd_sasl_type = dovecot

smtpd_tls_CAfile = /etc/postfix/tls/ca.crt

smtpd_tls_cert_file = /etc/postfix/tls/certificate.crt

smtpd_tls_key_file = /etc/postfix/tls/priv.key

smtpd_tls_loglevel = 3

smtpd_tls_received_header = yes

smtpd_tls_session_cache_timeout = 3600s

smtpd_use_tls = yes

virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf

virtual_gid_maps = static:89

virtual_mailbox_base = /mail

virtual_mailbox_domains = domain.com

virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf

virtual_minimum_uid = 0

virtual_transport = virtual

virtual_uid_maps = static:89

 

 

Dovecot:

[[email protected]]# dovecot -n

# 2.0.beta6 (3156315704ef): /etc/dovecot/dovecot.conf

# OS: Linux 2.6.32-71.el6.i686 i686 CentOS Linux release 6.0 (Final) ext4

debug_log_path = /var/log/dovecot-debug.log

first_valid_gid = 89

first_valid_uid = 89

info_log_path = /var/log/dovecot-info.log

log_path = /var/log/dovecot.log

login_greeting = mail.domain.com server ready.

mail_debug = yes

mail_gid = postfix

mail_location = maildir:/mail/%u/:INBOX=/mail/%u/INBOX

mail_privileged_group = postfix

mail_uid = postfix

mbox_write_locks = fcntl

passdb {

args = /etc/dovecot-mysql.conf

driver = sql

}

postmaster_address = [email protected]

service auth {

unix_listener /var/spool/postfix/private/auth {

group = postfix

mode = 0660

user = postfix

}

}

service imap-login {

inet_listener imaps {

port = 993

}

}

ssl_ca = </etc/postfix/tls/ca.crt

ssl_cert = </etc/postfix/tls/certificate.crt

ssl_key = </etc/postfix/tls/priv.key

userdb {

args = uid=89 gid=89 home=/mail/%u/

driver = static

}

 

Teraz mam inne problemy:

1) maile się wysyłają ładnie, ale są oznaczane jako SMAP !!

2) Po podpięciu się Outlookiem do skrzynki nie odbieram maili. W katalogu skrzynki nic nie przybywa.

 

W logach jedynie:

Sep 29 12:15:18 dns postfix/local[11515]: warning: dict_nis_init: NIS domain name not set - NIS lookups disabled

Sep 29 12:15:18 dns postfix/local[11509]: 7D62FE0721: to=<[email protected]>, relay=none, delay=3299, delays=3297/0.02/0/1.6, dsn=4.3.0, status=deferred (unknown mail transport error)

Sep 29 12:16:17 dns postfix/pipe[11516]: fatal: missing user= command-line attribute

Sep 29 12:16:17 dns postfix/pipe[11517]: fatal: missing user= command-line attribute

Sep 29 12:16:18 dns postfix/local[11508]: warning: private/dovecot socket: malformed response

Sep 29 12:16:18 dns postfix/master[10934]: warning: process /usr/libexec/postfix/pipe pid 11516 exit status 1

Sep 29 12:16:18 dns postfix/master[10934]: warning: /usr/libexec/postfix/pipe: bad command startup -- throttling

Sep 29 12:16:18 dns postfix/local[11515]: warning: private/dovecot socket: malformed response

Sep 29 12:16:18 dns postfix/master[10934]: warning: process /usr/libexec/postfix/pipe pid 11517 exit status 1

Sep 29 12:16:18 dns postfix/local[11508]: 789D2E0720: to=<[email protected]>, relay=none, delay=48239, delays=48177/1.6/0/60, dsn=4.3.0, status=deferred (unknown mail transport error)

Sep 29 12:16:18 dns postfix/local[11515]: 06C70E071C: to=<[email protected]>, relay=none, delay=48360, delays=48297/1.6/0/61, dsn=4.3.0, status=deferred (unknown mail transport error)

Odnośnik do komentarza
Udostępnij na innych stronach

Może Dovecot nie ma uprawnień do zapisywania danych w folderze skrzynki. Powienien je mieć ? Jak to zmienić ?

 

[[email protected]]# ls -alF

razem 28

drwx------ 5 postfix postfix 4096 09-28 22:18 ./

drwx------ 4 postfix postfix 4096 09-29 11:26 ../

drwx------ 2 postfix postfix 4096 09-28 22:10 cur/

-rw------- 1 postfix postfix 524 09-28 22:18 dovecot.index.log

-rw------- 1 postfix postfix 51 09-28 22:18 dovecot-uidlist

-rw------- 1 postfix postfix 0 09-28 22:10 maildirfolder

drwx------ 2 postfix postfix 4096 09-28 22:18 new/

drwx------ 2 postfix postfix 4096 09-29 11:21 tmp/

Odnośnik do komentarza
Udostępnij na innych stronach

Moze Dovecot nie ma uprawnien do zapisywania danych w folderze skrzynki. Powienien je miec ? Jak to zmienic ?

Np. dodaj do grupy postfix i nadaj odpowiednie uprawnienia katalogom i podkatalogom.

 

Prawa do katalogu podalem wyzej.

Niby tak, ale nie podales czy katalog mail to /mail czy np. /abrakadabra/mail ;)

 

Na innym forum dostalem porade by wylaczyc SELinux'a i pomoglo.

Najglupsza porada jaka slyszalem! Mówimy o serwerze, który bedzie wystawiony na zewnatrz i bedzie pelnil dosc istotna funkcje a nie o desktopowej stacji uzytkownika do grania w pasjansa. Jedyna zaleta takiej porady, to fakt, ze wiesz gdzie szukac zródla problemu. Sprawdz jakie bledy podaje SElinux (np. jako root: sealert -b - wyswietli przegladarke alarmów SElinux) i poczytaj jak utworzyc odpowiednie reguly/polityki, które pozwola postfiksowi na zgodne wspólzycie z SElinuksem.
Odnośnik do komentarza
Udostępnij na innych stronach

Np. dodaj do grupy postfix i nadaj odpowiednie uprawnienia katalogom i podkatalogom.

Dodałem usera Dovecot do grupy postfix.

Uprawnienia do katalogu i podkatalogów /mail są na razie 777.

 

 

Sprawdź jakie błędy podaje SElinux (np. jako root: sealert -b - wyświetli przeglądarkę alarmów SElinux) i poczytaj jak utworzyć odpowiednie reguły/polityki, które pozwolą postfiksowi na zgodne współżycie z SElinuksem.

 

Włączyłem od nowa SELinux'a. Nie mam polecenia "sealert". Nie mogę również takowego doinstalować. Nie mogę teraz połączyć się Outlookiem do serwera smtp/imap.

W logach /var/log/audit/audit.log mam:

 

type=AVC msg=audit(1317369871.769:25): avc: denied { write } for pid=1746 comm="imap" name="mail" dev=dm-0 ino=1179649 scontext=unconfined_u:system_r:dovecot_t:s0 tcontext=system_u:object_r:default_t:s0 tclass=dir

type=SYSCALL msg=audit(1317369871.769:25): arch=40000003 syscall=39 success=no exit=-13 a0=8e81800 a1=1c0 a2=e444d8 a3=8e81800 items=0 ppid=1710 pid=1746 auid=0 uid=89 gid=89 euid=89 suid=89 fsuid=89 egid=89 sgid=89 fsgid=89 tty=(none) ses=1 comm="imap" exe="/usr/libexec/dovecot/imap" subj=unconfined_u:system_r:dovecot_t:s0 key=(null)

type=AVC msg=audit(1317369871.769:26): avc: denied { write } for pid=1746 comm="imap" name="mail" dev=dm-0 ino=1179649 scontext=unconfined_u:system_r:dovecot_t:s0 tcontext=system_u:object_r:default_t:s0 tclass=dir

type=SYSCALL msg=audit(1317369871.769:26): arch=40000003 syscall=33 success=no exit=-13 a0=8e5b830 a1=2 a2=e444d8 a3=8e5b830 items=0 ppid=1710 pid=1746 auid=0 uid=89 gid=89 euid=89 suid=89 fsuid=89 egid=89 sgid=89 fsgid=89 tty=(none) ses=1 comm="imap" exe="/usr/libexec/dovecot/imap" subj=unconfined_u:system_r:dovecot_t:s0 key=(null)

type=AVC msg=audit(1317369915.961:27): avc: denied { connectto } for pid=1747 comm="smtpd" path="/var/spool/postfix/private/auth" scontext=system_u:system_r:postfix_smtpd_t:s0 tcontext=unconfined_u:system_r:dovecot_t:s0 tclass=unix_stream_socket

type=SYSCALL msg=audit(1317369915.961:27): arch=40000003 syscall=102 success=no exit=-13 a0=3 a1=bfbfa550 a2=c4cff4 a3=bfbfa62e items=0 ppid=1493 pid=1747 auid=4294967295 uid=89 gid=89 euid=89 suid=89 fsuid=89 egid=89 sgid=89 fsgid=89 tty=(none) ses=4294967295 comm="smtpd" exe="/usr/libexec/postfix/smtpd" subj=system_u:system_r:postfix_smtpd_t:s0 key=(null)

 

 

uid/gid=89 - postfix

Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
×
×
  • Dodaj nową pozycję...