Portál AbcLinuxu, 13. května 2025 22:28
testsaslauthd -s smtp -u uzivatel@domena.cz -p mojeheslo
V souborech /etc/posfix/sasl/smtpd.conf a
/var/spool/postfix/etc/sasl/smtpd.conf je
pwcheck_method: saslauthd
mech_list: PLAIN LOGIN
saslauthd_path: /var/spool/postfix/var/run/saslauthd
log_level: 7
Pokus o autorizaci postovnim klientem se nezdari.
Mail.log hlasi:
Oct 3 10:24:53 chip postfix/smtpd[10275]: warning: SASL authentication failure: Password verification failed
Oct 3 10:24:53 chip postfix/smtpd[10275]: warning: mail.aipsafe.cz[213.210.156.214]: SASL PLAIN authentication failed: authentication failure
Oct 3 10:24:53 chip postfix/smtpd[10275]: warning: SASL authentication problem: unable to open Berkeley db /etc/sasldb2: No such file or directory
Auth.log hlasi:
Oct 3 10:24:51 chip postfix/smtpd[10275]: OTP unavailable because can't read/write key database /etc/opiekeys: No such file or directory
Oct 3 10:24:51 chip postfix/smtpd[10275]: NTLM server step 1
Oct 3 10:24:51 chip postfix/smtpd[10275]: client flags: ffff8207
Oct 3 10:24:51 chip postfix/smtpd[10275]: NTLM server step 2
Oct 3 10:24:51 chip postfix/smtpd[10275]: client user: ziik@zona64.cz
Oct 3 10:24:53 chip postfix/smtpd[10275]: NTLM server step 1
Oct 3 10:24:53 chip postfix/smtpd[10275]: client flags: ffff8207
Oct 3 10:24:53 chip postfix/smtpd[10275]: NTLM server step 2
Oct 3 10:24:53 chip postfix/smtpd[10275]: client user: ziik@domena.cz
Podle meho nazoru se posfix spatne pta, mozna pouzije spatne servicename.
Netusi nekdo co je shnileho?
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (100)
=======================================================================
smtp inet n - - - - smtpd
smtp unix - - - - - smtp
virtual unix - n n - - virtual
Postfix by mel mit dostupny konfiguracni soubor smtpd.conf i pid saslauthd.
Oct 3 12:41:29 chip postfix/smtpd[16177]: sql_select option missing
Oct 3 12:41:29 chip postfix/smtpd[16177]: auxpropfunc error no mechanism available
Oct 3 12:41:29 chip postfix/smtpd[16177]: _sasl_plugin_load failed on sasl_auxprop_plug_init for plugin: sql
Oct 3 12:41:29 chip postfix/smtpd[16177]: OTP unavailable because can't read/write key database /etc/opiekeys: No h file or directory
1. Postfix pouziva cyrus sasl knihovnu pro overovani smtp, takze mu nejdriv musis ric, kde ma hledat uzivatele a jejich hesla. Zeditujes /etc/postfix/sasl/smtp.conf nasledovne: pwcheck_method: auxprop auxprop_plugin: sql mech_list: plain login cram-md5 digest-md5 sql_engine: mysql sql_hostnames: 127.0.0.1 sql_user: JMENO_UZIVATELE_V_DB sql_passwd: HESLO_UZIVATELE_V_DB sql_database: mail sql_select: select clearpwd from users where login='%u' 2. v /etc/pam.d/smtp auth required pam_mysql.so user=JMENO_UZIVATELE_V_DB passwd=JMENO_UZIVATELE_V_DB host=127.0.0.1 db=mail(JMENO DB) table=users(TABULKA) usercolumn=login(SLOUPEC V DB S LOGIN JMENEM) passwdcolumn=clearpwd (SLOUPEC OBSAHUJICI HESLO) crypt=0 (ZDA-LI KRYPUJEME MD5 CI NE )(TYHLE BLOKY) ve vypisu jsou komentare, ale to si asi pochopil, takze je vynech - jo a vsechno je to jeden radek 3. Odpovidajici tabulky s vhodnym obsahem v mysql db Pouzivam postfix spolecne s courier pop3/imap serverem (courier-authdaemon, courier-authmysql,courier-pop, courier-imap) . Snad jsem te trochu postrcil spravnym smerem - nejdriv si ujasni jak to funguje ( co se kde overuje, co musi bezet, jak se kouknout jestli se dotazuje mysql, zvysit ukecanost logu mysql aby si videl jaky dotazy se postfix snazi provadet apd. ) Jinak zprovozneni vlstniho sifrovani pomoci TLS je potom uz vyrazne snadnejsi, staci povolit v main.cf ( smtpd_use_tls = yes, smtpd_tls_cert_file = /etc/postfix/smtpd.cert, smtpd_tls_key_file = /etc/postfix/smtpd.key ) vygenerovat a zkopirovat vlstni klic a melo by to fungovat.
pwcheck_method: auxprop
auxprop_plugin: sql
... saha sasl rovnou do databaze. Tahle metoda funguje, avsak neumoznuje mit zakodovana hesla v DB.
Pokud se pouzije pam skrze saslauthd, je mozno nastavit "crypt=1 md5=y" a hesla v DB budou zakodovana.
Co potrebuji je, aby se postfix zeptal demona saslauthd jestli jmeno a heslo co dostal od klienta je spravne. saslauthd odpovi OK nebo Fail a postfix tohle akceptuje.
Aby saslauthd odpovedel uz mam hotove, to funguje.
Zbyva tedy zajistit aby se postfix zeptal saslauthd demona. A to je to co nefunguje.
# This needs to be uncommented before saslauthd will be run automatically START=yes # You must specify the authentication mechanisms you wish to use. # This defaults to "pam" for PAM support, but may also include # "shadow" or "sasldb" MECHANISMS=pamTohle a presto to nejede ? ( Z toho uplne prvniho vypisu mi prijde, ze zkousi pouzivat sasldb ) warning: SASL authentication problem: unable to open Berkeley db /etc/sasldb2: No such file or directory
Ahoj, no zacni radsi takto: Vytvor si sasl2 databazi: saslpasswd2 -c -u server.domena.cz -a smtpauth nejakyuzivatel vznikne ti: /etc/sasldb2 chown root:postfix /etc/sasldb2 autorizujes pomoci postfix a cyrus-sasl primo: cat /etc/smtpd.conf log_level: 3 pwcheck_method: saslauthd mech_list: plain login A hod prislusne veci do postfixu, tohle je nejrychlejsi, bude-li to makat, muzes pridodit PAM (PAM nesnasim, nepouzivam) Super je pouzit dovecot a delat sasl autorizaci PRIMO pres dovecot. Nikde na toto neexistuje poradny navod, jdu na to napsat navod, pak sem hodim link ....
Problém u mne byl v tom, že po hromadném update z distribuce se patrně změnila požadovaná cesta k souboru smtpd.conf, což sice reinstalace řeší, ale já to raději udělal bez ní pomocí linků do adresářů /etc (fungovalo před update) a /etc/postfix/sasl (kde to funguje teď) :o)))
ln -s /usr/lib/sasl2/smtpd.conf /etc/postfix/sasl/smtpd.conf
ln -s /usr/lib/sasl2/smtpd.conf /etc/smtpd.conf
(ponechávám pro jistotu i v /etc, pro nějakou další podobnou změnu v budoucnosti)
Doufám, že to někomu pomůže alespoň pro příště. :o))
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.