Это противоречит желанию большинства пользователей, но как я могу заставить dovecot выдавать ошибку, если maildir не существует, вместо того, чтобы автоматически создавать его самостоятельно?

Auth основан на pam, и я использую Maildir в пользовательском каталоге:

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

Если я rm -rf /stor/mail/imap то я ожидаю, что dovecot будет жаловаться при запуске или, по крайней мере, когда пользователь пытается получить его. Тем не менее, он запускается просто отлично без создания директории, а затем автоматически создает /stor/mail/imap/foo когда foo входит в систему и выбирает.

Я хотел бы не запускаться, если /stor/mail/imap не существует или не может этого сделать, чтобы пожаловаться пользователю, когда он пытается извлечь.

РЕДАКТИРОВАТЬ: я могу chown root /stor/mail/imap; chmod 700 /stor/mail/imap . Dovecot все еще запускается нормально (grrr). Он извлекает жалобы пользователю при получении, хотя ошибка "Ошибка входа в систему на сервере", что является неточным, хотя лучше, чем молчание.

Я попытался установить auto в no в defs почтовых ящиков, но безрезультатно. кажется, вы не можете установить auto для INBOX. Я использую конфигурацию dovecot по умолчанию из Ubuntu 16.04.2, где conf.d/15-mailboxes.conf имеет:

# 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
  }
}

и conf.d/10-mail.conf имеет:

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