January 18, 20224 yr Im Mail log sehe ich folgende Fehlermeldung: dovecot: lda(root)<27531><p4NbHRx/5mGLawAABV+1+Q>: Error: mkdir(/root/mail/.imap) failed: Permission denied (euid=65534(nobody) egid=65534(nogroup) missing +w perm: /root, dir owned by 0:0 mode=0711) und save failed to open mailbox INBOX: Mailbox INBOX: Failed to autocreate mailbox: Internal error occurred. Refer to server log for more information. Ich verstehe die Fehlermeldung so, dass er im root Verzeichnis aufgrund fehlender Rechte den Befehl 'mkdir /root/mail/.imap' nicht ausführen kann. Habe ich einen Fehler in der Dovecot Konfiguration oder muss ich 'nobody' und 'nogroup' die entsprechenden Schreibrechte einräumen, was mir komisch vorkommt?
January 18, 20224 yr Die froxlor übrigens korrekt anlegt, wenn man die dienste mit den Konfigurationstemplates korrekt eingerichtet hat
January 22, 20224 yr Author Sehe erst jetzt deine Antwort. Ich bin leider immer noch nicht weiter gekommen, es funktioniert einfach nicht wie gewünscht. Die /etc/aliases habe ich so übernommen, wie froxlor sie mir angezeigt hat: mailer-daemon: postmaster postmaster: root nobody: root hostmaster: root usenet: root news: root webmaster: root www: root ftp: root abuse: root noc: root security: root # change this to a valid e-mail address you can access root: root@srv.XXX.de Der Empfang und Versand von E-Mails von/nach extern funktioniert. Von extern eingehende Mails werden auf die Mailboxen unter /var/customers/mail/webX verteilt und können abgerufen werden und wenn ich in der /etc/aliases eine externe E-Mail Adressen angebe für einen User, dann funktioniert die Weiterleitung. Was aber nicht funktioniert ist der rein interne User-Mailverkehr. Wenn ich hier jetzt einen lokalen User habe (user1) und den mit mail user1@localhost anschreibe, dann gibt's Fehlermeldungen: Jan 22 07:20:21 srv.XXX.de postfix/pickup[31158]: DAA5672013D: uid=0 from=<root@srv.XXX.de> Jan 22 07:20:22 srv.XXX.de postfix/cleanup[655]: DAA5672013D: message-id=<20220122062021.DAA5672013D@mail.srv.XXX.de> Jan 22 07:20:22 srv.XXX.de postfix/qmgr[31159]: DAA5672013D: from=<root@srv.XXX.de>, size=395, nrcpt=1 (queue active) Jan 22 07:20:22 srv.XXX.de dovecot: lda(user1)<658><fae4HCai62GSAgAABV+1+Q>: Error: setegid(privileged) failed: Operation not permitted Jan 22 07:20:22 srv.XXX.de dovecot: lda(user1)<658><fae4HCai62GSAgAABV+1+Q>: Error: Mailbox INBOX: open(/var/mail/user1) failed: Permission denied (euid=1000(user1) egid=1000(user1) missing +w perm: /var/mail, we're not in group 8(mail), dir owned by 0:8 mode=0775) Jan 22 07:20:22 srv.XXX.de dovecot: lda(user1)<658><fae4HCai62GSAgAABV+1+Q>: Error: Mailbox INBOX: Failed to autocreate mailbox: Mailbox INBOX: open(/var/mail/user1) failed: Permission denied (euid=1000(user1) egid=1000(user1) missing +w perm: /var/mail, we're not in group 8(mail), dir owned by 0:8 mode=0775) Jan 22 07:20:22 srv.XXX.de dovecot: lda(user1)<658><fae4HCai62GSAgAABV+1+Q>: msgid=<20220122062021.DAA5672013D@mail.xxx>: save failed to open mailbox INBOX: Mailbox INBOX: Failed to autocreate mailbox: Mailbox INBOX: open(/var/mail/user1) failed: Permission denied (euid=1000(user1) egid=1000(user1) missing +w perm: /var/mail, we're not in group 8(mail), dir owned by 0:8 mode=0775) Jan 22 07:20:22 srv.XXX.de postfix/local[657]: DAA5672013D: to=<user1@localhost>, relay=local, delay=0.89, delays=0.42/0.06/0/0.41, dsn=4.3.0, status=deferred (temporary failure) Jan 22 07:20:22 srv.XXX.de postfix/local[657]: using backwards-compatible default setting relay_domains=$mydestination to update fast-flush logfile for domain "localhost" /var/mail/user1 existiert natürlich nicht. Ich würde erwarten, dass /var/mail/user1 angelegt wird und die Mail dorthin geschrieben wird. Genauso wie in meinem Ausgangspost wenn ich eine mail an root schicke. Das scheitert alles an den Rechten und ich weiß nicht, was ich noch einstellen kann, damit es wie gewünscht funktioniert. Geht das, was ich will, überhaupt?
January 22, 20224 yr 33 minutes ago, matsy said: Error: Mailbox INBOX: open(/var/mail/user1) failed: Permission denied (euid=1000(user1) egid=1000(user1) missing +w perm: /var/mail, we're not in group 8(mail), dir owned by 0:8 mode=0775) Steht alles da. 34 minutes ago, matsy said: Geht das, was ich will, überhaupt? Sicher, warum sollte es nicht gehen, Frage ist eher wieso willst du an lokale User Mails schicken?
January 22, 20224 yr Author 51 minutes ago, d00p said: Frage ist eher wieso willst du an lokale User Mails schicken? Es geht mehr um lokale Systemmail, z.B. von cron, die ich nicht unbedingt weiterleiten will. 52 minutes ago, d00p said: 1 hour ago, matsy said: Error: Mailbox INBOX: open(/var/mail/user1) failed: Permission denied (euid=1000(user1) egid=1000(user1) missing +w perm: /var/mail, we're not in group 8(mail), dir owned by 0:8 mode=0775) Steht alles da. Wenn ich nach der Fehlermeldung gehe, dann würde ich user1 der Gruppe mail hinzufügen. Das habe ich auch gegoogelt, aber dann das gefunden: https://serverfault.com/a/713711 Quote This is a terrible idea, because it means that ol' nicolai now has read-write access to everyone's mail. Hört sich dann also doch nicht nach einer guten Idee an. Außerdem müsste ich dann jeden User der Gruppe mail hinzufügen, d.h. um das zu automatisieren wäre der Weg wahrscheinlich die etc/adduser.conf anzupassen. Wenn es nur so geht, dann bleibt mir nichts anderes übricht, ich hatte gehofft, es gibt eine Einstellung, mit der Postfix/Dovecot das alles selbst so einrichten und automatisch erledigen.. Wegen On 1/18/2022 at 10:01 AM, matsy said: Error: mkdir(/root/mail/.imap) failed: Permission denied (euid=65534(nobody) egid=65534(nogroup) missing +w perm: /root, dir owned by 0:0 mode=0711) ist dann die einzige Möglichkeit, nobody/nogroup Schreibrechte auf /root einzuräumen?
January 22, 20224 yr Wenn du da die Meldungen erhalten willst für user@localhost, dann mach es wie für root und mach folgende Einträge in der aliases: user: externe@mail.adresse user2: andere@ext.mail etc.
January 22, 20224 yr Author 37 minutes ago, d00p said: Wenn du da die Meldungen erhalten willst für user@localhost, dann mach es wie für root und mach folgende Einträge in der aliases: user: externe@mail.adresse user2: andere@ext.mail etc. Du meinst eine echte existierende Mailadresse? Dann wird sie ja weitergeleitet. Das funktioniert ja und will ich ja gerade nicht. Ich habe jetzt mal den user1 der group mail hinzugefügt: root@srv.XXX.de:~# adduser user1 mail Adding user `user1' to group `mail' ... Adding user user1 to group mail Done. Mail geschickt: Jan 22 11:17:44 srv.XXX.de dovecot: lda(user1)<24290><MXdiOsjZ62HiXgAABV+1+Q>: Error: setegid(privileged) failed: Operation not permitted Jan 22 11:17:44 srv.XXX.de dovecot: lda(user1)<24290><MXdiOsjZ62HiXgAABV+1+Q>: Error: Mailbox INBOX: open(/var/mail/user1) failed: Permission denied (euid=1000(user1) egid=1000(user1) missing +w perm: /var/mail, we're not in group 8(mail), dir owned by 0:8 mode=0775) Jan 22 11:17:44 srv.XXX.de dovecot: lda(user1)<24290><MXdiOsjZ62HiXgAABV+1+Q>: Error: Mailbox INBOX: Failed to autocreate mailbox: Mailbox INBOX: open(/var/mail/user1) failed: Permission denied (euid=1000(user1) egid=1000(user1) missing +w perm: /var/mail, we're not in group 8(mail), dir owned by 0:8 mode=0775) Permissions: root@srv.XXX.de:~# ls -ld /var/mail drwxrwsr-x 2 root mail 4096 Jan 21 15:27 /var/mail
January 22, 20224 yr https://www.softprayog.in/troubleshooting/dovecot-imap-error-open-var-mail-username-failed aber keine garantie dass dann alles weiter normal mit den froxlor-managed mail-konten funktioniert
January 23, 20224 yr Author 21 hours ago, d00p said: https://www.softprayog.in/troubleshooting/dovecot-imap-error-open-var-mail-username-failed aber keine garantie dass dann alles weiter normal mit den froxlor-managed mail-konten funktioniert Danke fürs Raussuchen, werde ich mal ausprobieren und sehen, ob es funktioniert. Die Inboxen unterhalb der User-Verzeichnisse wären natürlich ein Traum. Mir ist jetzt noch beim Durchlesen eine Idee für einen Verbesserungsvorschlag für Froxlor gekommen: Quote This file has a line, !include conf.d/*.conf which causes inclusion of all files with names ending with .conf in the /etc/dovecot/conf.d directory. The file names start with numbers like, 10, 20, 30, etc., which determines the order in which the files are combined. So, a configuration entry in a file can be overruled by another entry in a later file. Bei der Dovecot-Konfiguration in froxlor muss man ja der Reihe nach die Konfigdateien einzeln erst umbenennen und dann neu anlegen mit den Änderungen. Wäre es nicht viel einfacher, wenn die Konfigurationsanleitung einfach nur die Änderungen anzeigen würde, man diese in eine Datei kopiert und die dann ans Ende der Konfigdateien stellt, dass es als Letztes eingelesen wird. Z.B. mit einem Namen wie 99-froxlor-config.conf? So hätte man die alles an einem Ort in einer Datei und müsste die Originaldateien überhaupt nicht anfassen.
January 23, 20224 yr Es gibt viele Möglichkeiten der Integration ja, wir wollten immer möglichst nah an den system configs bleiben um Anpassungen durch den Admin einfacher zu gestalten. Es ist einfach alles da wo man es auch normal suchen würde, bzw wo andere Tutorials und Hilfeseiten zeigen wo die Optionen sind.
January 24, 20224 yr Author 22 hours ago, d00p said: Es gibt viele Möglichkeiten der Integration ja, wir wollten immer möglichst nah an den system configs bleiben um Anpassungen durch den Admin einfacher zu gestalten. Das ist nachvollziehbar, ich habe es aber halt aus der Sicht einer möglichst schnellen Einrichtung gesehen, mit so wenig Fehlerquellen wie möglich. Denkbar wäre ja vielleicht auch, dass man in eine eventuelle 99-froxlor-config.conf die entsprechenden sections mit dazu schreibt. Also z.B. so: # Froxlor all inclusive config file # 99-froxlor-config.conf #file: 15-lda.conf postmaster_address = postmaster@srv24043.blue.kundencontroller.de #file: 20-pop3.conf pop3_logout_format = in=%i out=%o top=%t/%p, retr=%r/%b, del=%d/%m, size=%s usw...... So könnte man aus der Config-Datei auch sehen, woher die Settings ursprünglich kommen. Naja, war ja nur so eine Idee. Zurück zum eigentlichen Problem: Also mit der Einstellung mail_location = maildir:~/Maildir läuft es grundsätzlich anscheinend ganz gut. Ich habe das jetzt fast 24 Stunden am Laufen und es wurden die Postfächer unter den Home Directories erstellt, die lokalen Mails kommen dort an und die froxlor web-User bekommen weiterhin ihre Mails in ihren Postfächern. Scheint also erst einmal zu klappen. Was nicht klappt sind die Mails für den root-User. Für den bekomme ich weiterhin: Quote Jan 24 08:06:02 srv.XXX.de dovecot: lda(root)<24178><e7+iJ9pP7mFyXgAABV+1+Q>: Error: mkdir(/root/Maildir) failed: Permission denied (euid=65534(nobody) egid=65534(nogroup) missing +w perm: /root, dir owned by 0:0 mode=0711) Das ist irgendwie ja auch verständlich, schließlich soll ja nicht jeder nach Belieben ins /root Verzeichnis schreiben können, in diesem Fall wäre es aber gewollt. Hast du dazu noch eine Idee, ich habe das jetzt noch nicht groß gegoogelt für eine Lösung, weil ich gehofft hatte es würde doch noch funktionieren.
January 24, 20224 yr Steht der root User denn noch in der /etc/aliases? Wie du siehst will er auf /root und nicht /var/mail/ wie bei den anderen Usern
January 24, 20224 yr Author Wenn ich in der /etc/aliases eine Mailadresse angebe, dann werden die lokalen Mails an root ja doch wieder weitergeleitet, was ich nicht will. Da /root das Home-Verzeichnis vom root-User ist, wäre es folgerichtig, wenn Dovecot das Mailverzeichnis darin anlegt und Mails dorthin zustellt. Das macht er wegen fehlender Rechte aber nicht. Ich habe zum Testen nun einmal ein Mailverzeichnis in /root erstellt und eine Datei 'Inbox'. Per /etc/aliases leite ich root direkt auf /root/mail/inbox. Sobald ich 'inbox' 666 Rechte gebe (also inkl. read/write for others) stellt Postfix/Dovecot darin zu. Also genau das was ich eigentlich will. Die Datei ist so aber natürlich für jeden beschreibbar. Ich habe nun nacheinander versucht, die Datei nur für die Gruppen Postfix bzw. Dovecot bzw. mail schreibbar zu machen, dann stellt er aber wieder nicht zu, was ich nicht verstehe, weil das Recht über die richtige Gruppe doch eigentlich ausreichen müsste. Oder für welche Gruppen muss ich denn sonst die Schreibrechte vergeben?
January 24, 20224 yr Just now, matsy said: Wenn ich in der /etc/aliases eine Mailadresse angebe, dann werden die lokalen Mails an root ja doch wieder weitergeleitet, was ich nicht will du solltest ja auch nur schauen ob es dort noch einen Eintrag gibt! 1 minute ago, matsy said: Sobald ich 'inbox' 666 Rechte gebe (also inkl. read/write for others) stellt Postfix/Dovecot darin zu. chroot wieder nehme ich an, postfix darf haltsicher nich einfach nach /root schreiben Was lokale Zustellung bzw. lokalen Konten angeht hat froxlor halt nichts mit am Hut, so ist es nicht gedacht, musst du bitte einfach googlen wie es korrekt funktioniert.
January 24, 20224 yr Author 3 minutes ago, d00p said: du solltest ja auch nur schauen ob es dort noch einen Eintrag gibt! 5 minutes ago, matsy said: Den Eintrag gibt es. 3 minutes ago, d00p said: chroot wieder nehme ich an, postfix darf haltsicher nich einfach nach /root schreiben Verdammt Aber danke für den Hinweis, ich glaube so funktioniert es: # chgrp nogroup inbox #ls -ld /root/mail/inbox -rw-rw-r-- 1 root nogroup 3977 Jan 24 12:42 /root/mail/inbox Jan 24 12:56:47 srv.XXX.de postfix/local[21483]: 34E9A7200EA: to=<root@localhost>, relay=local, delay=0.19, delays=0.14/0.02/0/0.03, dsn=2.0.0, status=sent (delivered to file: /root/mail/inbox) Jan 24 12:56:47 srv.XXX.sw postfix/qmgr[7338]: 34E9A7200EA: removed
Create an account or sign in to comment