Nachdem es mir bei fast jedem Serverumzug wieder passiert, schreibe ich es doch mal so auf, dass ich mich beim nächsten Mal erinnere, es finde oder zumindest Google es findet:
Gegeben ist ein Debian/Postfix/Cyrus-Virtual-User-Setup mit MySQL-Datenbank und Authentifikation über saslauthd. Dass Debian in einem „chroot jail“ läuft und man daher das saslauthd-Socket in /etc/default/saslauthd von /var/run/saslauthd nach /var/spool/postfix/var/run/saslauthd umbiegen muss (und die entsprechenden Verzeichnisse mit passenden Berechtigungen auch anlegen sollte), daran habe ich mich mittlerweile gewöhnt. Was ich jedoch regelmäßig vergesse, ist, dass man dann auch /var/run/saslauthd als Symlink auf /var/spool/postfix/var/run/saslauthd anlegen sollten… sonst kann man sich herrlich lang die Finger wund suchen.
Für elegantere Lösungen bin ich jederzeit offen.
Update 02.03.2014:
Bei Debian Wheezy ist der Symlink von /var/run/saslauthd nach /var/spool/postfix/var/run/saslauthd nach jedem Reboot wieder weg, weil /var/run seinerseits nur noch ein Link auf /run ist, was wiederum als tmpfs nach jedem Neustart leer ist. Am besten legt man sich in /etc/rc.local eine Zeile an, die den Symlink wiederherstellt.
Für elegantere Lösungen auch dafür bin ich offen.
Bin auch schon öfter in das gleiche Problem geraten und jedesmal neu gesucht. Irgendwann habe ich die Option „sasl_saslauthd_path“ für den cyrus entdeckt. Also Benutzer „cyrus“ in die Gruppe „sasl“ und dann folgenden Eintrag in die /etc/imap.conf:
sasl_saslauthd_path: /var/spool/postfix/var/run/saslauthd/mux
Dann braucht man den Symlink unter /var/run nicht mehr (außer neben cyrus sollen noch andere Dienste auf den saslauthd drauf).