Dovecot einen Fehler geben, wenn Maildir nicht existiert

594
Normadize

Dies steht im Gegensatz zu dem, was die meisten Benutzer wollen, aber wie kann ich Dovecot dazu bringen, einen Fehler zu geben, wenn das Maildir nicht existiert, anstatt es automatisch automatisch zu erstellen?

Auth ist pam-basiert und ich verwende Maildir in einem benutzerdefinierten Verzeichnis:

mail_location = maildir:/stor/mail/imap/%u:INDEX=/stor/mail/imap/indexes/%u

Wenn ich rm -rf /stor/mail/imapdann erwarten würde, dass sich Dovecot beim Start oder zumindest beim Versuch eines Benutzers beschwert, sich zu beschweren. Es fängt jedoch gut an, ohne ein Verzeichnis zu erstellen, und erstellt /stor/mail/imap/foobei Verwendung von fooLogs und Abrufen automatisch .

Ich möchte nicht gestartet werden, wenn /stor/mail/imapes nicht existiert, oder das versagt, wenn ich mich beim Benutzer beschwere, wenn er versucht, ihn abzurufen.

EDIT: Ich kann chown root /stor/mail/imap; chmod 700 /stor/mail/imap. Dovecot läuft immer noch gut (grrr). Der Benutzer beschwert sich beim Abrufen beim Benutzer, obwohl der Fehler "Anmeldung beim Server fehlgeschlagen" ist, was zwar unschädlich ist, jedoch besser als leise ist.

Ich habe versucht auto, noin den Postfächern defs einzustellen, aber ohne Erfolg. Es scheint, dass Sie sich nicht auf autoINBOX einstellen können. Ich verwende den Standard Dovecot Config von Ubuntu 16.04.2 wo conf.d/15-mailboxes.confhat:

# NOTE: Assumes "namespace inbox" has been defined in 10-mail.conf. namespace inbox { mailbox Drafts { special_use = \Drafts } mailbox Junk { special_use = \Junk } mailbox Trash { special_use = \Trash } mailbox Sent { special_use = \Sent } } 

und conf.d/10-mail.confhat:

namespace inbox { # Namespace type: private, shared or public #type = private  # Hierarchy separator to use. You should use the same separator for all # namespaces or some clients get confused. '/' is usually a good one. # The default however depends on the underlying mail storage format. #separator =.  # Prefix required to access this namespace. This needs to be different for # all namespaces. For example "Public/". #prefix =.  # Physical location of the mailbox. This is in same format as # mail_location, which is also the default for it. #location =  # There can be only one INBOX, and this setting defines which namespace # has it. inbox = yes  # If namespace is hidden, it's not advertised to clients via NAMESPACE # extension. You'll most likely also want to set list=no. This is mostly # useful when converting from another server with different namespaces which # you want to deprecate but still keep working. For example you can create # hidden namespaces with prefixes "~/mail/", "~%u/mail/" and "mail/". #hidden = no  # Show the mailboxes under this namespace with LIST command. This makes the # namespace visible for clients that don't support NAMESPACE extension. # "children" value lists child mailboxes, but hides the namespace prefix. #list = yes  # Namespace handles its own subscriptions. If set to "no", the parent # namespace handles them (empty prefix should always have this as "yes") #subscriptions = yes  # See 15-mailboxes.conf for definitions of special mailboxes. } 
0
Sie könnten dem übergeordneten Verzeichnis die Schreibberechtigung entziehen. Wenn also Dovecot als `dovecot`-Benutzer ausgeführt wird, gehört es nicht zur Gruppe und hat keine Schreibberechtigung. Sie können auch SELinux verwenden, um das Attribut aus Dovecot zu entfernen, sodass es nicht in `user_t`-Verzeichnisse schreiben kann und daher keine Verzeichnisse erstellen kann. Dies ist jedoch viel schwieriger. Chloe vor 7 Jahren 1
@Chloe Ich bin gerade zurückgekommen, um zu posten, dass ich versucht habe, dir die Berechtigungen zu ändern. Hab dir trotzdem +1 gegeben. Dovecot startet auch dann noch einwandfrei, gibt jedoch einen Fehler an den Benutzer ab, wenn der Benutzer attepts abrufen soll. Der Fehler (zumindest von Thunderbird verstanden) lautet jedoch "Anmeldung am Server fehlgeschlagen". Das ist unschuldig, aber immer noch besser als zuvor. Normadize vor 7 Jahren 0

0 Antworten auf die Frage