Valamiért nem jön össze az SMTP autentikáció, segítsetek kibogozni.
A rendszer egy frissen telepített Debian Lenny.
A napló fájlokba a következő sorok kerülnek be levél küldésénél:
"postfix/smtpd[3747]: warning: SASL authentication problem: unable to open Berkeley db /etc/sasldb2: No such file or directory"
Tehát a leveleket megkapom (thunderbird-et használok), de küldésnél a jelszó beírásánál a rendszer rossz helyen keresi a felhasználót. Mysql-ből szeretnék autentikálni.
A releváns config fájlok:
#postconf -n
alias_maps = mysql:/etc/postfix/virtual.mysql
append_dot_mydomain = no
biff = no
broken_sasl_auth_clients = yes
config_directory = /etc/postfix
delay_warning_time = 4h
fallback_transport = virtual
html_directory = /usr/share/doc/postfix/html
inet_interfaces = all
mailbox_size_limit = 0
mailbox_transport = cyrus
mydestination = mail.xxxxxx.com, localhost.xxxxxx.com, localhost, mysql:/etc/postfix/mydestination.mysql
mydomain = $myhostname
myhostname = xxxxxx.com
mynetworks = xxxFIXIPxxx
myorigin = /etc/mailname
readme_directory = /usr/share/doc/postfix
recipient_delimiter = +
relayhost =
sender_canonical_maps = mysql:/etc/postfix/canonical.mysql
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain =
smtpd_sasl_path = cyrus
smtpd_sasl_security_options = noanonymous
smtpd_tls_auth_only = no
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = no
virtual_alias_domains = mysql:/etc/postfix/mydestination.mysql
virtual_alias_maps = mysql:/etc/postfix/virtual.mysql
virtual_mailbox_base = mysql:/etc/postfix/virtual.mysql
virtual_mailbox_maps = mysql:/etc/postfix/virtual.mysql
#cat /etc/postfix/master.cf
# ==========================================================================
250 inet n - - - - smtpd
submission inet n - - - - smtpd
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
-o milter_macro_daemon_name=ORIGINATING
smtps inet n - - - - smtpd
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
-o milter_macro_daemon_name=ORIGINATING
#628 inet n - - - - qmqpd
pickup fifo n - - 60 1 pickup
cleanup unix n - - - 0 cleanup
qmgr fifo n - n 300 1 qmgr
#qmgr fifo n - - 300 1 oqmgr
tlsmgr unix - - - 1000? 1 tlsmgr
rewrite unix - - - - - trivial-rewrite
bounce unix - - - - 0 bounce
defer unix - - - - 0 bounce
trace unix - - - - 0 bounce
verify unix - - - - 1 verify
flush unix n - - 1000? 0 flush
proxymap unix - - n - - proxymap
proxywrite unix - - n - 1 proxymap
smtp unix - - - - - smtp
# When relaying mail as backup MX, disable fallback_relay to avoid MX loops
relay unix - - - - - smtp
-o smtp_fallback_relay=
# -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq unix n - - - - showq
error unix - - - - - error
retry unix - - - - - error
discard unix - - - - - discard
local unix - n n - - local
virtual unix - n n - - virtual
lmtp unix - - - - - lmtp
anvil unix - - - - 1 anvil
scache unix - - - - 1 scache
#
# ====================================================================
maildrop unix - n n - - pipe
flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}
#
# See the Postfix UUCP_README file for configuration details.
#
uucp unix - n n - - pipe
flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
#
# Other external delivery methods.
#
ifmail unix - n n - - pipe
flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp unix - n n - - pipe
flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient
scalemail-backend unix - n n - 2 pipe
flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension}
mailman unix - n n - - pipe
flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
${nexthop} ${user}
cyrus unix - n n - - pipe
flags= user=cyrus argv=/usr/sbin/cyrdeliver -r ${sender} -m ${extension} ${user}
# cat /etc/postfix/sasl/smtpd.conf
pwcheck_method: saslauthd
mech_list : PLAIN LOGIN
allow_plaintext: true
log_level: 3
saslauthd_path: /var/run/saslauthd/mux
#sql_select: dummy
# cat /etc/default/saslauthd
START=yes
DESC="SASL Authentication Daemon"
NAME="saslauthd"
MECHANISMS="pam"
MECH_OPTIONS=""
THREADS=5
# Example for postfix users: "-c -m /var/spool/postfix/var/run/saslauthd"
#OPTIONS="-c -m /var/run/saslauthd"
OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd"
~# cat /etc/pam.d/smtp
#%PAM-1.0
auth sufficient pam_mysql.so user=mail passwd=mailhezjelszo host=localhost db=mail table=accountuser usercolumn=username passwdcolumn=password crypt=1 logtable=log logmsgcolumn=msg logusercolumn=user loghostcolumn=host logpidcolumn=pid logtimecolumn=time
auth sufficient pam_unix.so
account required pam_mysql.so user=mail passwd=mailhezjelszo host=localhost db=mail table=accountuser usercolumn=username passwdcolumn=password crypt=1 logtable=log logmsgcolumn=msg logusercolumn=user loghostcolumn=host logpidcolumn=pid logtimecolumn=time
account sufficient pam_unix.so
# ls -l /var/spool/postfix/var/run/saslauthd/
összesen 932
-rw------- 1 root root 0 márc 1 11.08 cache.flock
-rw------- 1 root root 945152 márc 1 11.11 cache.mmap
srwxrwxrwx 1 root root 0 márc 1 11.08 mux
-rw------- 1 root root 0 márc 1 11.08 mux.accept
-rw------- 1 root root 5 márc 1 11.08 saslauthd.pid
~# ls -l /var/spool/postfix/etc/postfix/sasl/
összesen 4
-rw-r--r-- 1 root root 329 márc 1 11.25 smtpd.conf
A postfix újraindításánál az smtpd.conf idemásolódik.
Egyenlőre a 250-es porton próbálkoztam, gondoltam, ha megy a rendes levélküldés, akkor utána átrakom 465-re és SSL-re.
De valamit biztos elrontottam, csak már nem látom, hogy hol, és hogyan tovább.
Próbálkoztam a
smtpd_sasl_path = smtp beállítással is, ekkor
"postfix/master[4018]: warning: /usr/lib/postfix/smtpd: bad command startup -- throttling"
próbáltam ezt is kiguglizni, de a talált doksik alapján nem jutottam előre.
mysql-log-ba nem kerül be semmi.
- 2190 megtekintés
Hozzászólások
Nekem smtpd_sasl_path = smtpd van.
Ezen kivul a saslauthd-nek kelleni szokott a -r.
Mindenesetre kihagytad a legfontosabbat, a logokat.
tompos
- A hozzászóláshoz be kell jelentkezni
...meg a pastebint
t
- A hozzászóláshoz be kell jelentkezni
pastebin-t még nem használtam, eszembe se jutott. Mit kellett volna ebbe tennem?
- A hozzászóláshoz be kell jelentkezni
A logokban mindossze ennyi van:
warning: SASL authentication failure: Password verification failed
Mar 1 13:28:52 xxxx postfix/smtpd[6679]: warning: catv-xxx-xxx-xxx-xxx.catv.broadband.hu[xxx-xxx-xxx-xxx]: SASL PLAIN authentication failed: authentication failure
Mar 1 13:28:52 xxxx postfix/smtpd[6679]: warning: SASL authentication problem: unable to open Berkeley db /etc/sasldb2: No such file or directory
Mar 1 13:28:52 xxxx postfix/smtpd[6679]: warning: SASL authentication problem: unable to open Berkeley db /etc/sasldb2: No such file or directory
Mar 1 13:28:52 xxxx postfix/smtpd[6679]: warning: SASL authentication problem: unable to open Berkeley db /etc/sasldb2: No such file or directory
Mar 1 13:28:52 xxxx postfix/smtpd[6679]: warning: SASL authentication problem: unable to open Berkeley db /etc/sasldb2: No such file or directory
Mar 1 13:28:52 xxxx postfix/smtpd[6679]: warning: SASL authentication problem: unable to open Berkeley db /etc/sasldb2: No such file or directory
Mar 1 13:28:52 xxxx postfix/smtpd[6679]: warning: SASL authentication problem: unable to open Berkeley db /etc/sasldb2: No such file or directory
Mar 1 13:28:52 xxxx postfix/smtpd[6679]: warning: catv-xxx-xxx-xxx-xxx.catv.broadband.hu[xxx-xxx-xxx-xxx]: SASL LOGIN authentication failed: authentication failure
- A hozzászóláshoz be kell jelentkezni
~# cat /etc/pam.d/smtp
#%PAM-1.0
auth sufficient pam_mysql.so user=mail passwd=mailhezjelszo host=localhost db=mail table=accountuser usercolumn=username passwdcolumn=password crypt=1 logtable=log logmsgcolumn=msg logusercolumn=user loghostcolumn=host logpidcolumn=pid logtimecolumn=time
auth sufficient pam_unix.so
account required pam_mysql.so user=mail passwd=mailhezjelszo host=localhost db=mail table=accountuser usercolumn=username passwdcolumn=password crypt=1 logtable=log logmsgcolumn=msg logusercolumn=user loghostcolumn=host logpidcolumn=pid logtimecolumn=time
account sufficient pam_unix.so
A pam_unix nem kell.
Ujrainditottad a saslauthd-t? Hogy nez ki a ps?
Nalam:
27204 ? Ss 0:04 /usr/sbin/saslauthd -a pam -c -m /var/run/saslauthd -r -n 1
tompos
- A hozzászóláshoz be kell jelentkezni
töröltem a pam_unix.so bejegyzéseket, és újraindítottam (korábban is megtörtént már)
# ps aux | grep sasl
root 7092 0.0 0.0 8360 760 ? Ss 13:47 0:00 /usr/sbin/saslauthd -a pam -c -m /var/spool/postfix/var/run/saslauthd -n 5
root 7093 0.0 0.0 8360 476 ? S 13:47 0:00 /usr/sbin/saslauthd -a pam -c -m /var/spool/postfix/var/run/saslauthd -n 5
root 7094 0.0 0.0 8360 360 ? S 13:47 0:00 /usr/sbin/saslauthd -a pam -c -m /var/spool/postfix/var/run/saslauthd -n 5
root 7095 0.0 0.0 8360 360 ? S 13:47 0:00 /usr/sbin/saslauthd -a pam -c -m /var/spool/postfix/var/run/saslauthd -n 5
root 7096 0.0 0.0 8360 360 ? S 13:47 0:00 /usr/sbin/saslauthd -a pam -c -m /var/spool/postfix/var/run/saslauthd -n 5
root 7105 0.0 0.0 3156 760 pts/1 R+ 13:48 0:00 grep sasl
- A hozzászóláshoz be kell jelentkezni
Természetesen én is ezzel próbáltam:
smtpd_sasl_path = smtpd (valamiért a "d" lemaradt")
ekkor a logok a következőt mondják:
==> /var/log/mail.log <==
Mar 1 13:34:00 xxxx postfix/smtpd[6792]: warning: SASL per-process initialization failed: generic failure
Mar 1 13:34:00 xxxx postfix/smtpd[6792]: fatal: SASL per-process initialization failed
==> /var/log/syslog <==
Mar 1 13:34:00 xxxx postfix/smtpd[6792]: warning: SASL per-process initialization failed: generic failure
Mar 1 13:34:00 xxxx postfix/smtpd[6792]: fatal: SASL per-process initialization failed
==> /var/log/mail.log <==
Mar 1 13:34:01 xxxx postfix/master[6780]: warning: process /usr/lib/postfix/smtpd pid 6792 exit status 1
Mar 1 13:34:01 xxxx postfix/master[6780]: warning: /usr/lib/postfix/smtpd: bad command startup -- throttling
==> /var/log/syslog <==
Mar 1 13:34:01 xxxx postfix/master[6780]: warning: process /usr/lib/postfix/smtpd pid 6792 exit status 1
Mar 1 13:34:01 xxxx postfix/master[6780]: warning: /usr/lib/postfix/smtpd: bad command startup -- throttling
ilyenkor a jelszót már be sem kéri.
- A hozzászóláshoz be kell jelentkezni
Nalam:
$ postconf|grep smtpd_sasl
smtpd_sasl_auth_enable = yes
smtpd_sasl_authenticated_header = no
smtpd_sasl_exceptions_networks =
smtpd_sasl_local_domain = mail.rtfm.co.eu
smtpd_sasl_path = smtpd
smtpd_sasl_security_options = noanonymous
smtpd_sasl_tls_security_options = $smtpd_sasl_security_options
smtpd_sasl_type = cyrus
Ha jol latom, nalad hianyzik a type.
tompos
- A hozzászóláshoz be kell jelentkezni
Ezek alapján:
# postconf|grep smtpd_sasl
smtpd_sasl_auth_enable = yes
smtpd_sasl_authenticated_header = no
smtpd_sasl_exceptions_networks =
smtpd_sasl_local_domain =
smtpd_sasl_path = smtpd
smtpd_sasl_security_options = noanonymous
smtpd_sasl_tls_security_options = $smtpd_sasl_security_options
smtpd_sasl_type = cyrus
ekkor:
==> /var/log/syslog <==
Mar 1 13:56:48 xxxx postfix/smtpd[7352]: warning: SASL per-process initialization failed: generic failure
Mar 1 13:56:48 xxxx postfix/smtpd[7352]: fatal: SASL per-process initialization failed
==> /var/log/mail.log <==
Mar 1 13:56:49 xxxx postfix/master[7299]: warning: process /usr/lib/postfix/smtpd pid 7352 exit status 1
Mar 1 13:56:49 xxxx postfix/master[7299]: warning: /usr/lib/postfix/smtpd: bad command startup -- throttling
- A hozzászóláshoz be kell jelentkezni
Nekem itt megallt a tudomanyom, latlatlanban ennyit tudok:)
Vhol kell meg ott lennie beszedesebb lognak is, legfelljebb fel kell emelni a log levelt. Ha megsincs, akkor strace.
Annyi a kulonbseg, h az enyem Ubuntu, nem tudom, szamit-e.
tompos
- A hozzászóláshoz be kell jelentkezni
~# ls -l /var/spool/postfix/usr/lib/postfix/
összesen 0
ez normális, hogy üres a mappa?
- A hozzászóláshoz be kell jelentkezni
hát mivel a postfix chrootban fut, ezért nem lássa a sasldb-ket, amik nincsenek a chrootban, ezeket linkeld be neki, illetve postfix usert felvenni a sasl csoportba, hogy tudja ezeket olvansi.
- A hozzászóláshoz be kell jelentkezni
a sasldb2 file kell a mysql es autentikációhoz?
postfix hozzá lett adva a sasl csoporthoz.
- A hozzászóláshoz be kell jelentkezni
ja azt nem tudom, nem is néztem, hogy mysql-t akarsz :) de a hibaüzenet: "postfix/smtpd[3747]: warning: SASL authentication problem: unable to open Berkeley db /etc/sasldb2: No such file or directory" emiatt van. akkor viszont a saslauth van úgy beállítva, hogy nem mysql-ből veszi ki a zokszigént, hanem sasldb-ből. akkor más plugint kell beállítani neki.
- A hozzászóláshoz be kell jelentkezni
elvileg ez ezt hivatott beállítani, de mintha nem is venné figyelembe:
# cat /etc/postfix/sasl/smtpd.conf
pwcheck_method: saslauthd
mech_list : PLAIN LOGIN
allow_plaintext: true
log_level: 3
saslauthd_path: /var/run/saslauthd/mux
- A hozzászóláshoz be kell jelentkezni
őőő, nem, ez abszolút nem azt állítja be... ez azt állítja be, hogy saslauth démon authentikáljon (de a saslauthd többféle pluginnal is tud authentikálni, pl. pam, sasldb, ldap, kerberos, stb., itt kéne neked vagy mysql plugin vagy pam+mysql, de erről ez a fájl nem szól semmit), és hogy ez hol van (ami mellesleg nem jó, mivel a postfix-ed chrootban fut). a saslauthd_path a végén nem kéne szerintem, hanem a /etc/default/saslauthd fájlban kéne ezeket megadni.
- A hozzászóláshoz be kell jelentkezni
továbbra sem működik, bármit állítok át, mindig a következő a hibaüzenet:
"warning: SASL authentication problem: unable to open Berkeley db /etc/sasldb2: No such file or directory"
mért nem akar a mysql-ből dolgozni?
- A hozzászóláshoz be kell jelentkezni
up,
hátha ma olvassa olyan akinek van ötlete.
- A hozzászóláshoz be kell jelentkezni
Mint irtam, emeld fel a debugot ill. strace-szel nezd meg.
tompos
- A hozzászóláshoz be kell jelentkezni
igazad van, kezdem így:
http://pastebin.com/CCZyPyiq
- A hozzászóláshoz be kell jelentkezni
Na, olyat sem lattam meg, h vki screenshot-ot kuld egy logrol:)
A saslauthd-debug-ja ill. strace output erdekesebb lenne szerintem.
Vagy azota mar megoldodott?
tompos
- A hozzászóláshoz be kell jelentkezni
Mért lenne screenshot?
Igen megoldódott, de nem tudom hogy mért.
Pont strace-el figyeltem a folyamatot, és egyszer csak elment a levél.
Ez megint érdekes dolgokat produkált, mert a levélküldés hatására a spool-ba létrejött egy új struktúra a domain névvel, és ettől kezdve lejönni nem akartak a levelek :P
Persze ezt gyorsan javítottam.
Egyébként ezzel a pastebin-el tényleg megkínlódtam,
itt találtam egy rövid howto-t:
http://szabadlinuxot.blogspot.com/2009/06/pastebinit.html
de sehogy nem akart kimenni a pastebin.com ra az info.
mi lenne a helyes parancs?
Egyébként pedig köszönöm a segítségedet, és természetesen a többiekét is.
- A hozzászóláshoz be kell jelentkezni
script
Vagy a strace -o log -s 500 -ff
tompos
- A hozzászóláshoz be kell jelentkezni
jaja,
én a pastebinre gondoltam :P
- A hozzászóláshoz be kell jelentkezni
En a pastebint egyaltalan nem ismerem, de igy jobban megnezve tenyleg nem egy kepet mutat, csak nekem anno ugy tunt.
tompos
- A hozzászóláshoz be kell jelentkezni