Cyrus-Problem mit pam_mysql

Debian macht sich hervorragend als Web- und Mailserver. Schau auch in den " Tipps und Tricks"-Bereich.
Antworten
Domski
Beiträge: 8
Registriert: 26.11.2004 01:17:29
Kontaktdaten:

Cyrus-Problem mit pam_mysql

Beitrag von Domski » 26.11.2004 01:28:11

Nachdem ich hier schon öfter mitgelesen und auch viele hilfreiche Sachen gelesen habe, muss ich mich auch leider wegen eines nicht ganz einfachen Problems hier anmelden ;)

Nach einem Stromausfall mit nicht funktinierender USV läuft unser Mailserver nicht mehr sauber.

Distribution ist Debian Woody, Postfix als MTA, Cyrus1.5.x(aktuellste Woody) stellt imapd
und pop3d zur Verfügung, die Auth-Daten stehen in einer MySQL-DB.
Cyrus soll sich die Daten über pwcheck holen.

Nachdem das Blech wieder hochgelaufen war, lies sich zwar Mail versenden, auch mit SASL-Auth(Auth-Daten aus der MySQL), aber keinem Postfächer abholen. Sowohl imap als auch pop3 haben im mail.log folgende Zeile produziert:
Nov 25 17:37:46 mailhorst pop3d[4461]: badlogin: xxxxxx plaintext
<username> cannot connect to pwcheck server

Ergebnis: pwcheck konnte nicht gestartet werden. pwcheck erzeugt beim Start einen Unix-Socket und zwar lag der vorher in /var/state/pwcheck. Laut auth.log versuchht pwcheck jetzt in /var/run/pwcheck den Socket anzulegen, geht aber nicht, da das Verzeichnis nicht existiert. Verzeichnis angelegt, pwcheck startet, erzeugt Socket. Den per Symlink nach /var/state/pwcheck gelegt, bringt aber kaum Verbesserung beim Mail-Login. Jetzt funktioniert das Login für vorhandene Unix-Accounts, die virtuellen aus der MySQL-DB werden aber weiterhin nicht angesprochen. Alle Logs schweigen sich aus, ausser mail.log, diesmal aber mit folgender Meldung:
Nov 25 20:13:52 mail-horst imapd[5555]: badlogin: xxxxxxxx plaintext
<username> Userid not found

Hat jemand eine Idee, was es da zerbröselt haben könnte? Configs sind in Ordnung, da hängt nichts schief. Wir haben die zu zweit durchgezappt und nichts gefunden.

Was ich mittlerweile getan/probiert habe: cyrus-imapd, cyrus-pop3d, cyrus-pwcheck und libpam_mysql entfernt und wieder installiert. Im /etc/pam.d/cyrus die mysql.so-auth auskommentiert und ohne gestartet, die Daten aus der pam.d/cyrus in die pam.conf eingetragen, Datenbank gecheckt. Nichts hat eine Verbesserung gebracht, auch in den Logs taucht ausser im Mail.log und syslog nichts auf. Und das was drin steht, nur "Userid not found" sagt ja nur aus, das die /etc/pam.d/cyrus nicht zieht, sondern schlichtweg ignoriert wird.

Danke schonmal, wenn noch Infos benötigt werden, poste ich die.

Benutzeravatar
Bert
Beiträge: 3751
Registriert: 16.07.2002 14:06:52
Wohnort: Dresden
Kontaktdaten:

Beitrag von Bert » 26.11.2004 09:49:28

Von Netzwerk verschoben.
Programmer: A biological machine designed to convert caffeine into code.
xmpp:bert@debianforum.de

Domski
Beiträge: 8
Registriert: 26.11.2004 01:17:29
Kontaktdaten:

Beitrag von Domski » 29.11.2004 05:30:02

Neuer Zwischenstand:

pam_mysql muss definitiv funktionieren, denn saslauthd holt sich die Auth-Daten über pam.
In der /etc/pam.d/smtp sind die Verbindungdaten zur MySQL richtig eingetragen und funktionieren.

In der /etc/pam.d/cyrus steht momentan folgendes

Code: Alles auswählen

# auth sufficient pam_mysql.so user=mail passwd=secret host=localhost db=cyrus_mail table=accountuser usercolumn=username passwdcolumn=password crypt=1
# account required pam_mysql.so user=mail passwd=secret host=localhost db=cyrus_mail table=accountuser usercolumn=username passwdcolumn=password crypt=1


# auth    sufficient                pam_unix_auth.so nullok
# account sufficient                pam_unix_acct.so


Trotzdem kann man sich mit den Unix-Daten am imapd anmelden. Wo holt der pwcheck sich noch die Auth-Daten her bzw warum benutzt der nicht pam?

Hat niemand eine Idee?

Antworten