PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : cyrus mit mysql



nr8
03.11.04, 15:52
hallo.

ich verwende postfix und den cyrus imap mit saslauth.

sasl_pwcheck_method: saslauthd
wollte fragen ob es eine möglichkeit gibt die user nicht direkt im system zu speichern sondern in einer mysql datenbank. wäre meiner meinung einfacher zu handhaben.

was sagt ihr dazu wäre das zu unsicher?
bzw wie genau würde ich das umsetzten?

Roger Wilco
03.11.04, 17:44
was sagt ihr dazu wäre das zu unsicher?
Nö, wieso unsicher? Wenn nicht gerade die ganze Welt das Passwort hat, um auf deinen MySQL Server zuzugreifen und dieser nur auf dem lokalen Interface läuft...


bzw wie genau würde ich das umsetzten?
Mit dem Postfix-Cyrus-Web-cyradm-HOWTO (http://www.delouw.ch/linux/Postfix-Cyrus-Web-cyradm-HOWTO/html/).

nr8
04.11.04, 14:57
geht da ganze nicht ein wenig einfacher so das ich dem cyrus nur sagen muss in welcher sql datenbank er nachschaun soll?

stefaan
04.11.04, 17:58
Servus!

Nein, einfacher gehts glaube ich nur mit Courier, der kann nativ MySQL.
Der Umweg über Pam ist aber auch nicht so schlimm...
Aber es ist leicht zu administrieren, wenn du nach dem Howto vorgehst (Web-Cyradm)...
(~800 User auf 2 Servern)

Grüße, Stefan

Roger Wilco
04.11.04, 18:29
geht da ganze nicht ein wenig einfacher so das ich dem cyrus nur sagen muss in welcher sql datenbank er nachschaun soll?
In neueren Versionen (ab 2.2 auf jeden Fall) kann Cyrus Imap sich auch ohne saslauthd an einer MySQL- oder PostgreSQL-Datenbank authentifizieren bzw. die Benutzerdaten von dort holen. Nennt sich dann auxprop.

Aber was findest du denn bitte an dem geposteten Howto schwer? Ist doch nur stupides abtippen, damit es läuft.

nr8
04.11.04, 19:10
weil es mir lieber ist wenn cyrus direkt das ganze macht und dazu nicht über irgendwelche umwege geht.

@stefaan soviel user hab ich noch nicht aber es ist auf jeden fall angenehmer zu verwalten und auch wenn man mal den server backupen willst ist es leicher die datenbank zu speicher und zu importieren als 800user (in deinem fall) im sys anzulegen :)

nr8
09.11.04, 14:11
so hab das jetzt versucht.
hab diese einträge in die imapd.conf gemacht

sasl_pwcheck_method: auxprop
sasl_auxprop_plugin: mysql
sasl_auto_transition: no
sasl_mysql_hostnames: localhost
sasl_mysql_user: meinuser
sasl_mysql_passwd: meinpasswort
sasl_mysql_database: meinedb
sasl_mysql_statement: SELECT password From user Where username = '%u'

hab eine datenbank in der ein user mit einem klartext passwort drin und wenn ich mich versuch einzulogen wird mir gesagt das user oder passwort falsch ist.
also so ganz haut das noch nicht hin.
seht ihr da einen fehler?

edit: seh gerade im log das er das auxprop plugin nicht finden kann.
ich verwende suse9.1 und habe cyrus und sasl von den cds. ist es da nicht gleich mitinstalliert worden?

Roger Wilco
09.11.04, 16:57
Probiers mit

sasl_pwcheck_method: auxprop
sasl_auxprop_plugin: sql

## possible values for sasl_auxprop_plugin 'mysql', 'pgsql', 'sqlite'.
sasl_sql_engine: mysql
Den Rest so lassen, wie du ihn hast.

nr8
09.11.04, 18:09
hab das jetzt geändert aber leider ohne erfolg:

accepted connection
could not find auxprop plugin, was searching for 'sql'
last message repeated 3 times
bad login....

hab voher ein online update gemacht und da wurde der cyrus mit upgedatet.
es war eine meldung das man nach dem update irgendwas neu kompiliern sollte bzw muss. hab aber leider vergessen was genau das war.

was war das und wie genau tut ich das? hab den cyrus bis jetzt immer nur per rpm installiert.

nr8
10.11.04, 14:33
hat denn da keiner eine ahnung? :confused:
vielleicht liegts ja auch nur an dem online update wo ich noch etwas kompiliern soll (laut yast)

Ikarisan
13.11.04, 23:16
Hi !

Habe genau das gleiche Problem unter Debian mit "Cyrus 2.1.16-10".

Mein Benutzer (angelegt in der mySQL Datenbanbk über web-cyradm) kann sich nicht anmelden. Ich hatte vorher in den PAM-Modulen diese Einträge (http://www.delouw.ch/linux/Postfix-Cyrus-Web-cyradm-HOWTO/html/pam-config.html) drin. Hat aber nicht funktioniert. Dann habe ich die ganzen sasl_mysql_* Einträge in die imap.conf übernommen. Aber auch das funktioniert bei mir nicht.

Im Logfile steht dann bei mir:



Nov 14 00:11:09 localhost cyrus/master[11665]: about to exec /usr/lib/cyrus/bin/imapd
Nov 14 00:11:09 localhost cyrus/imaps[11665]: executed
Nov 14 00:11:09 localhost cyrus/imapd[11665]: accepted connection
Nov 14 00:11:09 localhost cyrus/imapd[11665]: starttls: SSLv3 with cipher AES256-SHA (256/256 bits reused) no authentication
Nov 14 00:11:11 localhost cyrus/imapd[11665]: badlogin: [192.168.0.2] plain [SASL(-13): user not found: Password verification failed]
Nov 14 00:11:14 localhost cyrus/imapd[11665]: badlogin: [192.168.0.2] plaintext server0001 SASL(-13): user not found: checkpass failed

Dann habe ich einfach einmal mit "saslpasswd2 -c cyrus" den Benutzer cyrus in die sasl2 Datenbank aufgenommen und in der imap.conf die sasl_pwcheck_method Zeile erweitert. Jetzt steht da bei mir:

sasl_pwcheck_method: auxprop saslauthd pwcheck

Und siehe da, ich kann mich jetzt mit diesem Benutzer cyrus am IMAP Server anmelden:



Nov 14 00:15:07 localhost cyrus/imapd[11700]: starttls: SSLv3 with cipher AES256-SHA (256/256 bits reused) no authentication
Nov 14 00:15:09 localhost cyrus/imapd[11700]: login: [192.168.0.2] cyrus plain+TLS User logged in

Scheinbar fragt bei mir Cyrus immer nur die sasl Datenbank ab. :-(

:confused: Das kann doch nicht so schwierig sein. :confused:

Gruß
Thorsten

nr8
15.11.04, 13:48
so wie es aussieht dürfte er aber bei dir das auxprop plugin erkennen was bei mir leider nicht der fall ist :(