Dovecot dsync

fueber

New Member
Hallo,

ich habe ein Problem mit meiner Konfiguration vom Dovecot
Ich muss da ich Altlasten mit herumschleppe die Funktion Anmelden mit anderen Benutzernamen verwenden.

wenn sich der benutzer mit seiner Email Adresse anmeldet funktioniert der dsync daemon wie gewünscht. Loggt er sich aber mit den freigewählten Benutzernamen ein versucht er die veränderung mit den benutzernamen zu syncen bzw nur die quotas

May 12 07:42:09 mailbox dovecot: dsync-server(balbla113): Error: mkdir_parents(/var/vmail//blabla113) failed: Permission denied
May 12 07:42:09 mailbox dovecot: dsync-server(blabla113): Error: dict quota: Quota update failed, it's now desynced
May 12 07:42:09 mailbox dovecot: indexer-worker(blabla113): Indexed 5 messages in INBOX

kennt das jemand?

lg
Bernhard
 

wenkt

New Member
Hallo

Ich habe das selbe Problem mit dovecot-imapd, aber leider noch keine Lösung. Auch ich nutze noch die "alten" Loginnamen.

LG
Thomas
 

wenkt

New Member
Hier die Lösung (ISPConfig 3.0.5.4p8, Ubuntu 14.04 LTS, Dovecot 2.x):
In der Datei /etc/dovecot/dovecot.conf werden die Einträge für quota und sieve nicht angepasst.

Im Bereich plugin werden dazu der Domainpart (welcher leer ist und das // im Log erzeugt) sowie der Userpart verwendet. Richtigerweise muss da das Homeverzeichnis rein, welches den gesamten Pfad als Wert aufweist.

Hier der alte und falsche Bereich:
plugin {
quota = dict:user::file:/var/vmail/%d/%n/.quotausage
sieve=/var/vmail/%d/%n/.sieve
}

Und so muss das aussehen, dass es funktioniert:
plugin {
quota = dict:user::file:%h/.quotausage
sieve=%h/.sieve
}


Bitte in der nächsten ISPConfig-Version anpassen!

LG
Thomas
 

florian030

Well-Known Member
Die Einträge sind beide in Ordnung und funktionieren problemlos. Du musst einen anderen Fehler irgendwo in der Config haben.

Ich frage mich nur gerade, was quota und dsync miteinander gemeinsam haben....
 

wenkt

New Member
Lies mal meinen Post. Bei mir tritt die Fehlermeldung bei imap auf.

Einträge alt drin: Fehlermeldungen
Einträge neubdrin: keine Fehlermeldungen

Bei dsync wird wohl auch irgendwo das falsche Muster %d/%u drin sein
 

florian030

Well-Known Member
Das läuft hier und auf diversen anderen Servern mit dem ganz normalen Setup von ISPConfig. Ich bin mir daher ziemlich sicher, dass Dein Problem an Deiner Config und/oder der Dovecot-Version liegt, die Du verwendest. Ich stelle Dir gerne meine Config zur Verfügung - dann kannst Du vergleichen.

Für die nächste Version muss da gar nichts angepasst werden....
 

wenkt

New Member
Jaja.

Solange sich die Benutzer mit der vollständigen Emailadresse anmelden, funktioniert das mit "/var/vmail/%d/%u" super. Das wird bei Dir der Fall sein.
Nutzen die User jedoch einen anderen Loginnamen (z.B. namev), dann führt das Pfadmuster unweigerlich ins Falsche und erzeugt Fehlermeldungen. Darum ist hier "%h" als Wert notwendig.
 

florian030

Well-Known Member
Was gibt denn bei Dir ein "SELECT sieve FROM mail_user WHERE (login = '%u' OR email = '%u') AND `disable%Ls` = 'n'" ?
Nimm doch in Dovecot mal "auth_debug=yes" und starte dovecot neu. Wenn Du logins ohne %d (domain) brauchst, warum passt Du dann nicht einfach auth_username_format an?
%h ist das homedir des users. Und das ist für gewöhnich /var/vmail.
 

wenkt

New Member
Diese Tabelle hat keine Column "sieve".

Nochmals: Der SQL-Query in dovecot-sql.conf lautet:
user_query = SELECT email as user, maildir as home, CONCAT('maildir:', maildir, '/Maildir') as mail, uid, gid, CONCAT('*:storage=', quota, 'B') AS quota_rule, CONCAT(maildir, '/.sieve') as sieve FROM mail_user WHERE (login = '%u' OR email = '%u') AND disable%Ls = 'n' AND server_id = '1'

Der wichtige Teil dort ist: maildir as home. Also ist %h gleich der Column "maildir".

Nimm nun Deinen Query und lass Dir maildir anzeigen:
SELECT maildir FROM mail_user WHERE (login = '%u' OR email = '%u') AND `disable%Ls` = 'n'

Et voila *g*. Genau das funktioniert nun auch bei "kurzen" Loginnamen.
 

brt

New Member
sorry, daß ich den alten thread wieder aufwärme, aber nachdem ich auch über dieses problem gestolpert bin...

Die Ursache des Problems erscheint mir auch wie ein Bug im ISPConfig. Die im OP genannten Fehler treten auf, wenn der user "vmail" keine Schreibrechte hat, dovecot versucht einen ordner namens "/var/vmail//bla1" zu erstellen um sein quotafile dort abzulegen, richtig wäre aber "/var/vmail/domain/bla1".

Die Lösung mit "quota = dict:user::file:%h/.quotausage" erscheint mir auch logisch und funktioniert zumindest besser als auf der "Hauptebene" einen bla1 Ordner anlegen zu lassen. Tut man dies nicht und der vmail user hat Schreibrechte im Hauptordner, dann legt dovecot einen falschen Ordner für jeden User an! Und es kommt noch schlimmer: Wenn es zwei E-Mail-Adressen mit dem selben namen vor der Domain gibt, landet die quotadatei von info@domain1.com und info@domain2.com im selben Ordner. Eher suboptimal würde ich sagen.
 
Zuletzt bearbeitet:

florian030

Well-Known Member
Wenn das ein Fehler wäre, dann würde das sicherlich öfter auftreten. Ich denke, da passt eher an Deiner dovecot confiig etwas nicht so ganz. Ich habe zB
Code:
plugin {
  quota = dict:user::file:/var/vmail/%d/%n/.quotausage
  sieve=/var/vmail/%d/%n/.sieve
}
protocol imap {
  mail_plugins = quota imap_quota notify replication
}

protocol pop3 {
  pop3_uidl_format = %08Xu%08Xv
  mail_plugins = quota
}

protocol lda {
  mail_plugins = sieve quota notify replication
}
 

brt

New Member
Wenn das ein Fehler wäre, dann würde das sicherlich öfter auftreten. Ich denke, da passt eher an Deiner dovecot confiig etwas nicht so ganz.
Da muss ich leider widersprechen, der Fehler tritt auch auf wenn man die Dovecot Konfiguration garnicht anrührt.
Verwendest Du als Login-Namen die E-Mailadresse? Wenn ich das mache tritt das Problem zB. nicht auf, deswegen denke ich, daß der Fehler nur auftritt wenn man das ISPConfig-Feature "Abweichenden Login Namen erlauben" nutzt. Zudem, wenn der User "vmail" Schreibrechte in /var/vmail hat, erscheint auch kein Fehler in den Logfiles sondern es wird einfach ein völlig unsinniger Ordner "/var/vmail//bla1" (anstelle von /var/vmail/domain/bla1) erstellt.
 
Zuletzt bearbeitet:

wenkt

New Member
Ja, er tritt öfters auf. Aber nur, wenn kurze Loginnamen verwendet werden.

@brt: pass es so an, wie ich es beschrieben habe und merk' Dir die Änderung für neue ispconfig-Versionen. Florian scheint zu sehr von seiner Meinung überzeugt zu sein.
 

Werbung

Top