Jump to content
Froxlor Forum
  • 0

Failed to autocreate mailbox


matsy
 Share

Question

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?

Link to comment
Share on other sites

15 answers to this question

Recommended Posts

  • 0

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?

Link to comment
Share on other sites

  • 0
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?

Link to comment
Share on other sites

  • 0
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?

Link to comment
Share on other sites

  • 0

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.

 

Link to comment
Share on other sites

  • 0
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
Link to comment
Share on other sites

  • 0
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.

Link to comment
Share on other sites

  • 0

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.

Link to comment
Share on other sites

  • 0
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.

Link to comment
Share on other sites

  • 0

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?

Link to comment
Share on other sites

  • 0
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.

Link to comment
Share on other sites

  • 0
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

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share



×
×
  • Create New...