Re: Mail-Server mit Cyrus
Christian Schulte schrieb:
Ulrich Fürst wrote:
Christian Schulte schrieb:
Hallo,
Du kannst alles mit SASL Version 2 ignorieren. Der cyrus aus Woody
ist noch gegen SASL Version 1 gelinkt. Auch die
libsasl2-modules-sonstwas Pakete werden alle nicht weiterhelfen, da
die auch zur Version 2 gehören. Du brauchst also alles mit
libsasl-sonstwas und das Paket sasl-bin und nicht sasl2-bin. Dann
heissen die Binaries auch
saslpasswd
sasldblistusers
mit denen kann ich gar kein passwort festlegen:
debian:/home/ulrich# saslpasswd -c cyrus
Password:
Again (for verification):
saslpasswd: generic failure
Da ist Dein Problem. Das saslpasswd musst Du irgendwie ans laufen
bringen. Evtl. löscht Du /etc/sasldb und falls es existiert auch
/etc/sasldb2. Wenn es danach nicht klappt, dann könnte ein
Also die gab's beide. Nach dem löschen habe ich versucht mit saslpasswd
ein neues Passwort anzulegen. mit der gleichen Fehlermeldung wie oben.
die /etc/sasldb legt er trotzdem an.
strace saslpasswd -c cyrus
open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or
directory)
open("/usr/lib/sasl/saslpasswd.conf", O_RDONLY) = -1 ENOENT (No such
file or directory)
open("/dev/null", O_RDONLY|O_NONBLOCK|O_DIRECTORY) = -1 ENOTDIR (Not a
directory)
Das sind zu mindestens die Fehlermeldungen die ich herausgefunden hab.
evtl. einen Hinweis liefern, was da nicht klappt. Aber das saslpasswd
müsste das richtige sein. Da sasldblistusers Einträge anzeigt sollte die
Datei /etc/sasldb zumindest existieren. Evtl. wirklich mal die Files
löschen und dann nochmal versuchen einen User anzulegen.
Nachdem ich jetzt das File zum dritten mal gelöscht habe und mit
sasldblistusers überprüft habe das er auch anderweitig keine user-daten
anlegt:
debian:/home/ulrich# rm /etc/sasldb
rm: remove `/etc/sasldb'? y
debian:/home/ulrich# sasldblistusers
debian:/home/ulrich# saslpasswd -c cyrus
Password:
Again (for verification):
debian:/home/ulrich# sasldblistusers
user: cyrus realm: debian mech: DIGEST-MD5
user: cyrus realm: debian mech: PLAIN
user: cyrus realm: debian mech: CRAM-MD5
Das scheint ja endlich geklappt zu haben. Fragt sich nur warum.
So jetzt hab ich nochmal strace ... laufen lassen und keine
Fehlermeldungen mehr erhalten.
Mach mal ein "ldd imapd-binary" und guck mal, ob in der Ausgabe
irgendetwas von libsasl2 erwähnt wird oder nur libsasl. Das sollte
Klarheit schaffen.
Da es ein imapd-binary nicht gibt und das einzige was locate findet
(außer Doku) imapd ist hab ich's mal damit probiert:
ulrich@debian:~$ ldd /usr/sbin/imapd
libdb2.so.2 => /lib/libdb2.so.2 (0x4001f000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0x40060000)
libcom_err.so.2 => /lib/libcom_err.so.2 (0x4008e000)
libc.so.6 => /lib/libc.so.6 (0x40090000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
ich hoffe das ist das was Du wolltest?
Exakt. Ich wundere mich hier nur gerade, warum da die libsasl nicht mit
auftaucht. Ich habe das bei mir jetzt auch mal ausprobiert, und da sieht
es ähnlich aus. Ich kenne mich mit dem cyrus unter Versionen 2.0.x auch
leider nicht gut aus, weiss aber, dass die 2.0.16 noch mit sasldb V1
gelinkt war und dann wird die 1.5.x auch mit sasldb V1 arbeiten.
Ich habe mir die 1.5.x Version aus Woody jetzt nochmal ein wenig genauer
angeschaut und im Paket cyrus-common gibt es da ein /etc/init.d/pwcheck.
Evtl. mal genau das starten und gucken ob die Default-Konfiguration dann
funktioniert. Ich werde gerade das Gefühl nicht los, dass der 1.5.xer
Cyrus überhaupt nichts mit SASL zu tun hat und mit den normalen PAM
User-Accounts funktioniert. Das weiss ich aber nicht genau. Wenn das so
ist, dann sollte die Default-Konfiguration nach dem
/etc/init.d/pwcheck start
debian:/home/ulrich# /etc/init.d/pwcheck stop
Stopping Cyrus PAM pwcheck daemon:
debian:/home/ulrich# /etc/init.d/pwcheck start
Starting Cyrus PAM pwcheck daemon: pwcheck.
So dann kommt hier wohl das nächste Problem. PAM ist nämlich nicht
konfiguriert, vielleicht noch nicht mal installiert (falls das nicht
systemstandard ist).
eigendlich klappen. Wenn dann in der /etc/imapd.conf in der Admins-Zeile
der User cyrus eingetragen wird, könnte ich mir vorstellen, dass man
diesen User einfach nur ganz normal im System anlegen muss und es danach
dann auch klappt. Das ist aber alles mehr geraten als gewusst. Ich hätte
Also die Gruppe und user cyrus hab ich angelegt.
in der Ausgabe von ldd jetzt zumindest die libsasl erwartet. Wenn die
da nicht auftaucht, dann wird sie scheinbar auch nicht benutzt und dann
kannst Du eigendlich alles, was mit libsasl(2) zu tun hat auch wieder
vom System schmeissen.
Damit warte ich aber noch ne Weile...
Vielen Dank für die Mühe schon mal.
Gruß Ulrich
Reply to: