separate dovecot for postfix and exim4 as exim4 needs 'special treatment'...
Signed-off-by: Michael Kaufmann (d00p) <d00p@froxlor.org>
This commit is contained in:
@@ -74,7 +74,7 @@ if ($userinfo['change_serversettings'] == '1') {
|
|||||||
foreach ($daemons as $di => $dd) {
|
foreach ($daemons as $di => $dd) {
|
||||||
$title = $dd->title;
|
$title = $dd->title;
|
||||||
if ($dd->default) {
|
if ($dd->default) {
|
||||||
$title = $title." ".$lng['panel']['default'];
|
$title = $title." (".strtolower($lng['panel']['default']).")";
|
||||||
}
|
}
|
||||||
$daemons_select .= makeoption($title, $di);
|
$daemons_select .= makeoption($title, $di);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2459,9 +2459,393 @@ sql_select: SELECT password FROM mail_users WHERE username='%u@%r' OR email='%u@
|
|||||||
</service>
|
</service>
|
||||||
<!-- IMAP/POP3 services -->
|
<!-- IMAP/POP3 services -->
|
||||||
<service type="mail" title="{{lng.admin.configfiles.mail}}">
|
<service type="mail" title="{{lng.admin.configfiles.mail}}">
|
||||||
<!-- Dovecot -->
|
<!-- valid for both dovecots -->
|
||||||
<daemon name="dovecot" version="2" title="Dovecot" default="true">
|
<general>
|
||||||
|
<installs index="1">
|
||||||
<install><![CDATA[apt-get install dovecot-imapd dovecot-pop3d dovecot-mysql dovecot-managesieved dovecot-sieve]]></install>
|
<install><![CDATA[apt-get install dovecot-imapd dovecot-pop3d dovecot-mysql dovecot-managesieved dovecot-sieve]]></install>
|
||||||
|
</installs>
|
||||||
|
<files index="1">
|
||||||
|
<file name="/etc/dovecot/dovecot.conf" chown="root:root"
|
||||||
|
chmod="0640" backup="true">
|
||||||
|
<content><![CDATA[
|
||||||
|
## Dovecot configuration file
|
||||||
|
|
||||||
|
# If you're in a hurry, see http://wiki2.dovecot.org/QuickConfiguration
|
||||||
|
|
||||||
|
# "doveconf -n" command gives a clean output of the changed settings. Use it
|
||||||
|
# instead of copy&pasting files when posting to the Dovecot mailing list.
|
||||||
|
|
||||||
|
# '#' character and everything after it is treated as comments. Extra spaces
|
||||||
|
# and tabs are ignored. If you want to use either of these explicitly, put the
|
||||||
|
# value inside quotes, eg.: key = "# char and trailing whitespace "
|
||||||
|
|
||||||
|
# Default values are shown for each setting, it's not required to uncomment
|
||||||
|
# those. These are exceptions to this though: No sections (e.g. namespace {})
|
||||||
|
# or plugin settings are added by default, they're listed only as examples.
|
||||||
|
# Paths are also just examples with the real defaults being based on configure
|
||||||
|
# options. The paths listed here are for configure --prefix=/usr
|
||||||
|
# --sysconfdir=/etc --localstatedir=/var
|
||||||
|
|
||||||
|
# Enable installed protocols
|
||||||
|
!include_try /usr/share/dovecot/protocols.d/*.protocol
|
||||||
|
|
||||||
|
# A comma separated list of IPs or hosts where to listen in for connections.
|
||||||
|
# "*" listens in all IPv4 interfaces, "::" listens in all IPv6 interfaces.
|
||||||
|
# If you want to specify non-default ports or anything more complex,
|
||||||
|
# edit conf.d/master.conf.
|
||||||
|
#listen = *, ::
|
||||||
|
|
||||||
|
# Base directory where to store runtime data.
|
||||||
|
#base_dir = /var/run/dovecot/
|
||||||
|
|
||||||
|
# Name of this instance. In multi-instance setup doveadm and other commands
|
||||||
|
# can use -i <instance_name> to select which instance is used (an alternative
|
||||||
|
# to -c <config_path>). The instance name is also added to Dovecot processes
|
||||||
|
# in ps output.
|
||||||
|
#instance_name = dovecot
|
||||||
|
|
||||||
|
# Greeting message for clients.
|
||||||
|
#login_greeting = Dovecot ready.
|
||||||
|
|
||||||
|
# Space separated list of trusted network ranges. Connections from these
|
||||||
|
# IPs are allowed to override their IP addresses and ports (for logging and
|
||||||
|
# for authentication checks). disable_plaintext_auth is also ignored for
|
||||||
|
# these networks. Typically you'd specify your IMAP proxy servers here.
|
||||||
|
#login_trusted_networks =
|
||||||
|
|
||||||
|
# Sepace separated list of login access check sockets (e.g. tcpwrap)
|
||||||
|
#login_access_sockets =
|
||||||
|
|
||||||
|
# With proxy_maybe=yes if proxy destination matches any of these IPs, don't do
|
||||||
|
# proxying. This isn't necessary normally, but may be useful if the destination
|
||||||
|
# IP is e.g. a load balancer's IP.
|
||||||
|
#auth_proxy_self =
|
||||||
|
|
||||||
|
# Show more verbose process titles (in ps). Currently shows user name and
|
||||||
|
# IP address. Useful for seeing who are actually using the IMAP processes
|
||||||
|
# (eg. shared mailboxes or if same uid is used for multiple accounts).
|
||||||
|
#verbose_proctitle = no
|
||||||
|
|
||||||
|
# Should all processes be killed when Dovecot master process shuts down.
|
||||||
|
# Setting this to "no" means that Dovecot can be upgraded without
|
||||||
|
# forcing existing client connections to close (although that could also be
|
||||||
|
# a problem if the upgrade is e.g. because of a security fix).
|
||||||
|
#shutdown_clients = yes
|
||||||
|
|
||||||
|
# If non-zero, run mail commands via this many connections to doveadm server,
|
||||||
|
# instead of running them directly in the same process.
|
||||||
|
#doveadm_worker_count = 0
|
||||||
|
# UNIX socket or host:port used for connecting to doveadm server
|
||||||
|
#doveadm_socket_path = doveadm-server
|
||||||
|
|
||||||
|
# Space separated list of environment variables that are preserved on Dovecot
|
||||||
|
# startup and passed down to all of its child processes. You can also give
|
||||||
|
# key=value pairs to always set specific settings.
|
||||||
|
#import_environment = TZ
|
||||||
|
|
||||||
|
##
|
||||||
|
## Dictionary server settings
|
||||||
|
##
|
||||||
|
|
||||||
|
# Dictionary can be used to store key=value lists. This is used by several
|
||||||
|
# plugins. The dictionary can be accessed either directly or though a
|
||||||
|
# dictionary server. The following dict block maps dictionary names to URIs
|
||||||
|
# when the server is used. These can then be referenced using URIs in format
|
||||||
|
# "proxy::<name>".
|
||||||
|
|
||||||
|
dict {
|
||||||
|
#quota = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext
|
||||||
|
#expire = sqlite:/etc/dovecot/dovecot-dict-sql.conf.ext
|
||||||
|
}
|
||||||
|
|
||||||
|
# Most of the actual configuration gets included below. The filenames are
|
||||||
|
# first sorted by their ASCII value and parsed in that order. The 00-prefixes
|
||||||
|
# in filenames are intended to make it easier to understand the ordering.
|
||||||
|
!include conf.d/*.conf
|
||||||
|
|
||||||
|
# A config file can also tried to be included without giving an error if
|
||||||
|
# it's not found:
|
||||||
|
!include_try local.conf
|
||||||
|
]]>
|
||||||
|
</content>
|
||||||
|
</file>
|
||||||
|
<file name="/etc/dovecot/dovecot-sql.conf.ext" chown="root:root"
|
||||||
|
chmod="0600" backup="true">
|
||||||
|
<content><![CDATA[
|
||||||
|
# This file is opened as root, so it should be owned by root and mode 0600.
|
||||||
|
#
|
||||||
|
# http://wiki2.dovecot.org/AuthDatabase/SQL
|
||||||
|
#
|
||||||
|
# For the sql passdb module, you'll need a database with a table that
|
||||||
|
# contains fields for at least the username and password. If you want to
|
||||||
|
# use the user@domain syntax, you might want to have a separate domain
|
||||||
|
# field as well.
|
||||||
|
#
|
||||||
|
# If your users all have the same uig/gid, and have predictable home
|
||||||
|
# directories, you can use the static userdb module to generate the home
|
||||||
|
# dir based on the username and domain. In this case, you won't need fields
|
||||||
|
# for home, uid, or gid in the database.
|
||||||
|
#
|
||||||
|
# If you prefer to use the sql userdb module, you'll want to add fields
|
||||||
|
# for home, uid, and gid. Here is an example table:
|
||||||
|
#
|
||||||
|
# CREATE TABLE users (
|
||||||
|
# username VARCHAR(128) NOT NULL,
|
||||||
|
# domain VARCHAR(128) NOT NULL,
|
||||||
|
# password VARCHAR(64) NOT NULL,
|
||||||
|
# home VARCHAR(255) NOT NULL,
|
||||||
|
# uid INTEGER NOT NULL,
|
||||||
|
# gid INTEGER NOT NULL,
|
||||||
|
# active CHAR(1) DEFAULT 'Y' NOT NULL
|
||||||
|
# );
|
||||||
|
|
||||||
|
# Database driver: mysql, pgsql, sqlite
|
||||||
|
driver = mysql
|
||||||
|
|
||||||
|
# Database connection string. This is driver-specific setting.
|
||||||
|
#
|
||||||
|
# HA / round-robin load-balancing is supported by giving multiple host
|
||||||
|
# settings, like: host=sql1.host.org host=sql2.host.org
|
||||||
|
#
|
||||||
|
# pgsql:
|
||||||
|
# For available options, see the PostgreSQL documention for the
|
||||||
|
# PQconnectdb function of libpq.
|
||||||
|
# Use maxconns=n (default 5) to change how many connections Dovecot can
|
||||||
|
# create to pgsql.
|
||||||
|
#
|
||||||
|
# mysql:
|
||||||
|
# Basic options emulate PostgreSQL option names:
|
||||||
|
# host, port, user, password, dbname
|
||||||
|
#
|
||||||
|
# But also adds some new settings:
|
||||||
|
# client_flags - See MySQL manual
|
||||||
|
# ssl_ca, ssl_ca_path - Set either one or both to enable SSL
|
||||||
|
# ssl_cert, ssl_key - For sending client-side certificates to server
|
||||||
|
# ssl_cipher - Set minimum allowed cipher security (default: HIGH)
|
||||||
|
# option_file - Read options from the given file instead of
|
||||||
|
# the default my.cnf location
|
||||||
|
# option_group - Read options from the given group (default: client)
|
||||||
|
#
|
||||||
|
# You can connect to UNIX sockets by using host: host=/var/run/mysql.sock
|
||||||
|
# Note that currently you can't use spaces in parameters.
|
||||||
|
#
|
||||||
|
# sqlite:
|
||||||
|
# The path to the database file.
|
||||||
|
#
|
||||||
|
# Examples:
|
||||||
|
# connect = host=192.168.1.1 dbname=users
|
||||||
|
# connect = host=sql.example.com dbname=virtual user=virtual password=blarg
|
||||||
|
# connect = /etc/dovecot/authdb.sqlite
|
||||||
|
#
|
||||||
|
connect = host=<SQL_HOST> dbname=<SQL_DB> user=<SQL_UNPRIVILEGED_USER> password=<SQL_UNPRIVILEGED_PASSWORD>
|
||||||
|
|
||||||
|
# Default password scheme.
|
||||||
|
#
|
||||||
|
# List of supported schemes is in
|
||||||
|
# http://wiki2.dovecot.org/Authentication/PasswordSchemes
|
||||||
|
#
|
||||||
|
default_pass_scheme = CRYPT
|
||||||
|
|
||||||
|
# passdb query to retrieve the password. It can return fields:
|
||||||
|
# password - The user's password. This field must be returned.
|
||||||
|
# user - user@domain from the database. Needed with case-insensitive lookups.
|
||||||
|
# username and domain - An alternative way to represent the "user" field.
|
||||||
|
#
|
||||||
|
# The "user" field is often necessary with case-insensitive lookups to avoid
|
||||||
|
# e.g. "name" and "nAme" logins creating two different mail directories. If
|
||||||
|
# your user and domain names are in separate fields, you can return "username"
|
||||||
|
# and "domain" fields instead of "user".
|
||||||
|
#
|
||||||
|
# The query can also return other fields which have a special meaning, see
|
||||||
|
# http://wiki2.dovecot.org/PasswordDatabase/ExtraFields
|
||||||
|
#
|
||||||
|
# Commonly used available substitutions (see http://wiki2.dovecot.org/Variables
|
||||||
|
# for full list):
|
||||||
|
# %u = entire user@domain
|
||||||
|
# %n = user part of user@domain
|
||||||
|
# %d = domain part of user@domain
|
||||||
|
#
|
||||||
|
# Note that these can be used only as input to SQL query. If the query outputs
|
||||||
|
# any of these substitutions, they're not touched. Otherwise it would be
|
||||||
|
# difficult to have eg. usernames containing '%' characters.
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# password_query = SELECT userid AS user, pw AS password \
|
||||||
|
# FROM users WHERE userid = '%u' AND active = 'Y'
|
||||||
|
#
|
||||||
|
#password_query = \
|
||||||
|
# SELECT username, domain, password \
|
||||||
|
# FROM users WHERE username = '%n' AND domain = '%d'
|
||||||
|
|
||||||
|
# userdb query to retrieve the user information. It can return fields:
|
||||||
|
# uid - System UID (overrides mail_uid setting)
|
||||||
|
# gid - System GID (overrides mail_gid setting)
|
||||||
|
# home - Home directory
|
||||||
|
# mail - Mail location (overrides mail_location setting)
|
||||||
|
#
|
||||||
|
# None of these are strictly required. If you use a single UID and GID, and
|
||||||
|
# home or mail directory fits to a template string, you could use userdb static
|
||||||
|
# instead. For a list of all fields that can be returned, see
|
||||||
|
# http://wiki2.dovecot.org/UserDatabase/ExtraFields
|
||||||
|
#
|
||||||
|
# Examples:
|
||||||
|
# user_query = SELECT home, uid, gid FROM users WHERE userid = '%u'
|
||||||
|
# user_query = SELECT dir AS home, user AS uid, group AS gid FROM users where userid = '%u'
|
||||||
|
# user_query = SELECT home, 501 AS uid, 501 AS gid FROM users WHERE userid = '%u'
|
||||||
|
#
|
||||||
|
#user_query = \
|
||||||
|
# SELECT home, uid, gid \
|
||||||
|
# FROM users WHERE username = '%n' AND domain = '%d'
|
||||||
|
user_query = SELECT CONCAT(homedir, maildir) AS home, CONCAT('maildir:', homedir, maildir) AS mail, uid, gid, CONCAT('*:storage=', (quota*1024)) as quota_rule FROM mail_users WHERE (username = '%u' OR email = '%u')
|
||||||
|
|
||||||
|
# If you wish to avoid two SQL lookups (passdb + userdb), you can use
|
||||||
|
# userdb prefetch instead of userdb sql in dovecot.conf. In that case you'll
|
||||||
|
# also have to return userdb fields in password_query prefixed with "userdb_"
|
||||||
|
# string. For example:
|
||||||
|
#password_query = \
|
||||||
|
# SELECT userid AS user, password, \
|
||||||
|
# home AS userdb_home, uid AS userdb_uid, gid AS userdb_gid \
|
||||||
|
# FROM users WHERE userid = '%u'
|
||||||
|
password_query = SELECT username AS user, password_enc AS password, CONCAT(homedir, maildir) AS userdb_home, uid AS userdb_uid, gid AS userdb_gid, CONCAT('maildir:', homedir, maildir) AS userdb_mail, CONCAT('maildir:storage=', (quota*1024)) as userdb_quota FROM mail_users WHERE (username = '%u' OR email = '%u') AND ((imap = 1 AND '%Ls' = 'imap') OR (pop3 = 1 AND '%Ls' = 'pop3') OR '%Ls' = 'smtp' OR '%Ls' = 'sieve')
|
||||||
|
|
||||||
|
# Query to get a list of all usernames.
|
||||||
|
#iterate_query = SELECT username AS user FROM users
|
||||||
|
]]>
|
||||||
|
</content>
|
||||||
|
</file>
|
||||||
|
<file name="/etc/dovecot/conf.d/10-auth.conf" chown="root:0"
|
||||||
|
chmod="0640" backup="true">
|
||||||
|
<content><![CDATA[
|
||||||
|
##
|
||||||
|
## Authentication processes
|
||||||
|
##
|
||||||
|
|
||||||
|
# Disable LOGIN command and all other plaintext authentications unless
|
||||||
|
# SSL/TLS is used (LOGINDISABLED capability). Note that if the remote IP
|
||||||
|
# matches the local IP (ie. you're connecting from the same computer), the
|
||||||
|
# connection is considered secure and plaintext authentication is allowed.
|
||||||
|
disable_plaintext_auth = no
|
||||||
|
|
||||||
|
# Authentication cache size (e.g. 10M). 0 means it's disabled. Note that
|
||||||
|
# bsdauth, PAM and vpopmail require cache_key to be set for caching to be used.
|
||||||
|
#auth_cache_size = 0
|
||||||
|
# Time to live for cached data. After TTL expires the cached record is no
|
||||||
|
# longer used, *except* if the main database lookup returns internal failure.
|
||||||
|
# We also try to handle password changes automatically: If user's previous
|
||||||
|
# authentication was successful, but this one wasn't, the cache isn't used.
|
||||||
|
# For now this works only with plaintext authentication.
|
||||||
|
#auth_cache_ttl = 1 hour
|
||||||
|
# TTL for negative hits (user not found, password mismatch).
|
||||||
|
# 0 disables caching them completely.
|
||||||
|
#auth_cache_negative_ttl = 1 hour
|
||||||
|
|
||||||
|
# Space separated list of realms for SASL authentication mechanisms that need
|
||||||
|
# them. You can leave it empty if you don't want to support multiple realms.
|
||||||
|
# Many clients simply use the first one listed here, so keep the default realm
|
||||||
|
# first.
|
||||||
|
#auth_realms =
|
||||||
|
|
||||||
|
# Default realm/domain to use if none was specified. This is used for both
|
||||||
|
# SASL realms and appending @domain to username in plaintext logins.
|
||||||
|
#auth_default_realm =
|
||||||
|
|
||||||
|
# List of allowed characters in username. If the user-given username contains
|
||||||
|
# a character not listed in here, the login automatically fails. This is just
|
||||||
|
# an extra check to make sure user can't exploit any potential quote escaping
|
||||||
|
# vulnerabilities with SQL/LDAP databases. If you want to allow all characters,
|
||||||
|
# set this value to empty.
|
||||||
|
#auth_username_chars = abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@
|
||||||
|
|
||||||
|
# Username character translations before it's looked up from databases. The
|
||||||
|
# value contains series of from -> to characters. For example "#@/@" means
|
||||||
|
# that '#' and '/' characters are translated to '@'.
|
||||||
|
#auth_username_translation =
|
||||||
|
|
||||||
|
# Username formatting before it's looked up from databases. You can use
|
||||||
|
# the standard variables here, eg. %Lu would lowercase the username, %n would
|
||||||
|
# drop away the domain if it was given, or "%n-AT-%d" would change the '@' into
|
||||||
|
# "-AT-". This translation is done after auth_username_translation changes.
|
||||||
|
#auth_username_format = %Lu
|
||||||
|
|
||||||
|
# If you want to allow master users to log in by specifying the master
|
||||||
|
# username within the normal username string (ie. not using SASL mechanism's
|
||||||
|
# support for it), you can specify the separator character here. The format
|
||||||
|
# is then <username><separator><master username>. UW-IMAP uses "*" as the
|
||||||
|
# separator, so that could be a good choice.
|
||||||
|
#auth_master_user_separator =
|
||||||
|
|
||||||
|
# Username to use for users logging in with ANONYMOUS SASL mechanism
|
||||||
|
#auth_anonymous_username = anonymous
|
||||||
|
|
||||||
|
# Maximum number of dovecot-auth worker processes. They're used to execute
|
||||||
|
# blocking passdb and userdb queries (eg. MySQL and PAM). They're
|
||||||
|
# automatically created and destroyed as needed.
|
||||||
|
#auth_worker_max_count = 30
|
||||||
|
|
||||||
|
# Host name to use in GSSAPI principal names. The default is to use the
|
||||||
|
# name returned by gethostname(). Use "$ALL" (with quotes) to allow all keytab
|
||||||
|
# entries.
|
||||||
|
#auth_gssapi_hostname =
|
||||||
|
|
||||||
|
# Kerberos keytab to use for the GSSAPI mechanism. Will use the system
|
||||||
|
# default (usually /etc/krb5.keytab) if not specified. You may need to change
|
||||||
|
# the auth service to run as root to be able to read this file.
|
||||||
|
#auth_krb5_keytab =
|
||||||
|
|
||||||
|
# Do NTLM and GSS-SPNEGO authentication using Samba's winbind daemon and
|
||||||
|
# ntlm_auth helper. <doc/wiki/Authentication/Mechanisms/Winbind.txt>
|
||||||
|
#auth_use_winbind = no
|
||||||
|
|
||||||
|
# Path for Samba's ntlm_auth helper binary.
|
||||||
|
#auth_winbind_helper_path = /usr/bin/ntlm_auth
|
||||||
|
|
||||||
|
# Time to delay before replying to failed authentications.
|
||||||
|
#auth_failure_delay = 2 secs
|
||||||
|
|
||||||
|
# Require a valid SSL client certificate or the authentication fails.
|
||||||
|
#auth_ssl_require_client_cert = no
|
||||||
|
|
||||||
|
# Take the username from client's SSL certificate, using
|
||||||
|
# X509_NAME_get_text_by_NID() which returns the subject's DN's
|
||||||
|
# CommonName.
|
||||||
|
#auth_ssl_username_from_cert = no
|
||||||
|
|
||||||
|
# Space separated list of wanted authentication mechanisms:
|
||||||
|
# plain login digest-md5 cram-md5 ntlm rpa apop anonymous gssapi otp skey
|
||||||
|
# gss-spnego
|
||||||
|
# NOTE: See also disable_plaintext_auth setting.
|
||||||
|
auth_mechanisms = plain login
|
||||||
|
|
||||||
|
##
|
||||||
|
## Password and user databases
|
||||||
|
##
|
||||||
|
|
||||||
|
#
|
||||||
|
# Password database is used to verify user's password (and nothing more).
|
||||||
|
# You can have multiple passdbs and userdbs. This is useful if you want to
|
||||||
|
# allow both system users (/etc/passwd) and virtual users to login without
|
||||||
|
# duplicating the system users into virtual database.
|
||||||
|
#
|
||||||
|
# <doc/wiki/PasswordDatabase.txt>
|
||||||
|
#
|
||||||
|
# User database specifies where mails are located and what user/group IDs
|
||||||
|
# own them. For single-UID configuration use "static" userdb.
|
||||||
|
#
|
||||||
|
# <doc/wiki/UserDatabase.txt>
|
||||||
|
|
||||||
|
#!include auth-deny.conf.ext
|
||||||
|
#!include auth-master.conf.ext
|
||||||
|
|
||||||
|
#!include auth-system.conf.ext
|
||||||
|
!include auth-sql.conf.ext
|
||||||
|
#!include auth-ldap.conf.ext
|
||||||
|
#!include auth-passwdfile.conf.ext
|
||||||
|
#!include auth-checkpassword.conf.ext
|
||||||
|
#!include auth-vpopmail.conf.ext
|
||||||
|
#!include auth-static.conf.ext
|
||||||
|
]]>
|
||||||
|
</content>
|
||||||
|
</file>
|
||||||
<file name="/etc/dovecot/dovecot.conf" chown="root:root"
|
<file name="/etc/dovecot/dovecot.conf" chown="root:root"
|
||||||
chmod="0640" backup="true">
|
chmod="0640" backup="true">
|
||||||
<content><![CDATA[
|
<content><![CDATA[
|
||||||
@@ -3208,139 +3592,6 @@ mail_access_groups = vmail
|
|||||||
# variables: %{md4}, %{md5}, %{sha1}, %{sha256}, %{sha512}, %{size}.
|
# variables: %{md4}, %{md5}, %{sha1}, %{sha256}, %{sha512}, %{size}.
|
||||||
# Variables can be truncated, e.g. %{sha256:80} returns only first 80 bits
|
# Variables can be truncated, e.g. %{sha256:80} returns only first 80 bits
|
||||||
#mail_attachment_hash = %{sha1}
|
#mail_attachment_hash = %{sha1}
|
||||||
]]>
|
|
||||||
</content>
|
|
||||||
</file>
|
|
||||||
<file name="/etc/dovecot/conf.d/10-master.conf" chown="root:0"
|
|
||||||
chmod="0640" backup="true">
|
|
||||||
<content><![CDATA[
|
|
||||||
#default_process_limit = 100
|
|
||||||
#default_client_limit = 1000
|
|
||||||
|
|
||||||
# Default VSZ (virtual memory size) limit for service processes. This is mainly
|
|
||||||
# intended to catch and kill processes that leak memory before they eat up
|
|
||||||
# everything.
|
|
||||||
#default_vsz_limit = 256M
|
|
||||||
|
|
||||||
# Login user is internally used by login processes. This is the most untrusted
|
|
||||||
# user in Dovecot system. It shouldn't have access to anything at all.
|
|
||||||
#default_login_user = dovenull
|
|
||||||
|
|
||||||
# Internal user is used by unprivileged processes. It should be separate from
|
|
||||||
# login user, so that login processes can't disturb other processes.
|
|
||||||
#default_internal_user = dovecot
|
|
||||||
|
|
||||||
service imap-login {
|
|
||||||
inet_listener imap {
|
|
||||||
#port = 143
|
|
||||||
}
|
|
||||||
inet_listener imaps {
|
|
||||||
#port = 993
|
|
||||||
#ssl = yes
|
|
||||||
}
|
|
||||||
|
|
||||||
# Number of connections to handle before starting a new process. Typically
|
|
||||||
# the only useful values are 0 (unlimited) or 1. 1 is more secure, but 0
|
|
||||||
# is faster. <doc/wiki/LoginProcess.txt>
|
|
||||||
#service_count = 1
|
|
||||||
|
|
||||||
# Number of processes to always keep waiting for more connections.
|
|
||||||
#process_min_avail = 0
|
|
||||||
|
|
||||||
# If you set service_count=0, you probably need to grow this.
|
|
||||||
#vsz_limit = $default_vsz_limit
|
|
||||||
}
|
|
||||||
|
|
||||||
service pop3-login {
|
|
||||||
inet_listener pop3 {
|
|
||||||
#port = 110
|
|
||||||
}
|
|
||||||
inet_listener pop3s {
|
|
||||||
#port = 995
|
|
||||||
#ssl = yes
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
service lmtp {
|
|
||||||
unix_listener lmtp {
|
|
||||||
#mode = 0666
|
|
||||||
}
|
|
||||||
|
|
||||||
# Create inet listener only if you can't use the above UNIX socket
|
|
||||||
#inet_listener lmtp {
|
|
||||||
# Avoid making LMTP visible for the entire internet
|
|
||||||
#address =
|
|
||||||
#port =
|
|
||||||
#}
|
|
||||||
}
|
|
||||||
|
|
||||||
service imap {
|
|
||||||
# Most of the memory goes to mmap()ing files. You may need to increase this
|
|
||||||
# limit if you have huge mailboxes.
|
|
||||||
#vsz_limit = $default_vsz_limit
|
|
||||||
|
|
||||||
# Max. number of IMAP processes (connections)
|
|
||||||
#process_limit = 1024
|
|
||||||
}
|
|
||||||
|
|
||||||
service pop3 {
|
|
||||||
# Max. number of POP3 processes (connections)
|
|
||||||
#process_limit = 1024
|
|
||||||
}
|
|
||||||
|
|
||||||
service auth {
|
|
||||||
# auth_socket_path points to this userdb socket by default. It's typically
|
|
||||||
# used by dovecot-lda, doveadm, possibly imap process, etc. Users that have
|
|
||||||
# full permissions to this socket are able to get a list of all usernames and
|
|
||||||
# get the results of everyone's userdb lookups.
|
|
||||||
#
|
|
||||||
# The default 0666 mode allows anyone to connect to the socket, but the
|
|
||||||
# userdb lookups will succeed only if the userdb returns an "uid" field that
|
|
||||||
# matches the caller process's UID. Also if caller's uid or gid matches the
|
|
||||||
# socket's uid or gid the lookup succeeds. Anything else causes a failure.
|
|
||||||
#
|
|
||||||
# To give the caller full permissions to lookup all users, set the mode to
|
|
||||||
# something else than 0666 and Dovecot lets the kernel enforce the
|
|
||||||
# permissions (e.g. 0777 allows everyone full permissions).
|
|
||||||
unix_listener auth-userdb {
|
|
||||||
#mode = 0666
|
|
||||||
#user =
|
|
||||||
#group =
|
|
||||||
}
|
|
||||||
|
|
||||||
# Postfix smtp-auth
|
|
||||||
unix_listener /var/spool/postfix/private/auth {
|
|
||||||
mode = 0660
|
|
||||||
user = postfix
|
|
||||||
group = postfix
|
|
||||||
}
|
|
||||||
# Exim4 smtp-auth
|
|
||||||
unix_listener auth-client {
|
|
||||||
mode = 0660
|
|
||||||
user = mail
|
|
||||||
group = Debian-exim
|
|
||||||
}
|
|
||||||
|
|
||||||
# Auth process is run as this user.
|
|
||||||
#user = $default_internal_user
|
|
||||||
}
|
|
||||||
|
|
||||||
service auth-worker {
|
|
||||||
# Auth worker process is run as root by default, so that it can access
|
|
||||||
# /etc/shadow. If this isn't necessary, the user should be changed to
|
|
||||||
# $default_internal_user.
|
|
||||||
#user = root
|
|
||||||
}
|
|
||||||
|
|
||||||
service dict {
|
|
||||||
# If dict proxy is used, mail processes should have access to its socket.
|
|
||||||
# For example: mode=0660, group=vmail and global mail_access_groups=vmail
|
|
||||||
unix_listener dict {
|
|
||||||
#mode = 0600
|
|
||||||
#user =
|
|
||||||
#group =
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]]>
|
]]>
|
||||||
</content>
|
</content>
|
||||||
</file>
|
</file>
|
||||||
@@ -3748,7 +3999,294 @@ plugin {
|
|||||||
]]>
|
]]>
|
||||||
</content>
|
</content>
|
||||||
</file>
|
</file>
|
||||||
|
</files>
|
||||||
|
<commands index="1">
|
||||||
<command><![CDATA[/etc/init.d/dovecot restart]]></command>
|
<command><![CDATA[/etc/init.d/dovecot restart]]></command>
|
||||||
|
</commands>
|
||||||
|
</general>
|
||||||
|
<!-- Dovecot with postfix -->
|
||||||
|
<daemon name="dovecot_postfix" version="2" title="Dovecot with postfix"
|
||||||
|
default="true">
|
||||||
|
<include>//service[@type='mail']/general/installs[@index=1]
|
||||||
|
</include>
|
||||||
|
<include>//service[@type='mail']/general/files[@index=1]
|
||||||
|
</include>
|
||||||
|
<file name="/etc/dovecot/conf.d/10-master.conf" chown="root:0"
|
||||||
|
chmod="0640" backup="true">
|
||||||
|
<content><![CDATA[
|
||||||
|
#default_process_limit = 100
|
||||||
|
#default_client_limit = 1000
|
||||||
|
|
||||||
|
# Default VSZ (virtual memory size) limit for service processes. This is mainly
|
||||||
|
# intended to catch and kill processes that leak memory before they eat up
|
||||||
|
# everything.
|
||||||
|
#default_vsz_limit = 256M
|
||||||
|
|
||||||
|
# Login user is internally used by login processes. This is the most untrusted
|
||||||
|
# user in Dovecot system. It shouldn't have access to anything at all.
|
||||||
|
#default_login_user = dovenull
|
||||||
|
|
||||||
|
# Internal user is used by unprivileged processes. It should be separate from
|
||||||
|
# login user, so that login processes can't disturb other processes.
|
||||||
|
#default_internal_user = dovecot
|
||||||
|
|
||||||
|
service imap-login {
|
||||||
|
inet_listener imap {
|
||||||
|
#port = 143
|
||||||
|
}
|
||||||
|
inet_listener imaps {
|
||||||
|
#port = 993
|
||||||
|
#ssl = yes
|
||||||
|
}
|
||||||
|
|
||||||
|
# Number of connections to handle before starting a new process. Typically
|
||||||
|
# the only useful values are 0 (unlimited) or 1. 1 is more secure, but 0
|
||||||
|
# is faster. <doc/wiki/LoginProcess.txt>
|
||||||
|
#service_count = 1
|
||||||
|
|
||||||
|
# Number of processes to always keep waiting for more connections.
|
||||||
|
#process_min_avail = 0
|
||||||
|
|
||||||
|
# If you set service_count=0, you probably need to grow this.
|
||||||
|
#vsz_limit = $default_vsz_limit
|
||||||
|
}
|
||||||
|
|
||||||
|
service pop3-login {
|
||||||
|
inet_listener pop3 {
|
||||||
|
#port = 110
|
||||||
|
}
|
||||||
|
inet_listener pop3s {
|
||||||
|
#port = 995
|
||||||
|
#ssl = yes
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
service lmtp {
|
||||||
|
unix_listener lmtp {
|
||||||
|
#mode = 0666
|
||||||
|
}
|
||||||
|
|
||||||
|
# Create inet listener only if you can't use the above UNIX socket
|
||||||
|
#inet_listener lmtp {
|
||||||
|
# Avoid making LMTP visible for the entire internet
|
||||||
|
#address =
|
||||||
|
#port =
|
||||||
|
#}
|
||||||
|
}
|
||||||
|
|
||||||
|
service imap {
|
||||||
|
# Most of the memory goes to mmap()ing files. You may need to increase this
|
||||||
|
# limit if you have huge mailboxes.
|
||||||
|
#vsz_limit = $default_vsz_limit
|
||||||
|
|
||||||
|
# Max. number of IMAP processes (connections)
|
||||||
|
#process_limit = 1024
|
||||||
|
}
|
||||||
|
|
||||||
|
service pop3 {
|
||||||
|
# Max. number of POP3 processes (connections)
|
||||||
|
#process_limit = 1024
|
||||||
|
}
|
||||||
|
|
||||||
|
service auth {
|
||||||
|
# auth_socket_path points to this userdb socket by default. It's typically
|
||||||
|
# used by dovecot-lda, doveadm, possibly imap process, etc. Users that have
|
||||||
|
# full permissions to this socket are able to get a list of all usernames and
|
||||||
|
# get the results of everyone's userdb lookups.
|
||||||
|
#
|
||||||
|
# The default 0666 mode allows anyone to connect to the socket, but the
|
||||||
|
# userdb lookups will succeed only if the userdb returns an "uid" field that
|
||||||
|
# matches the caller process's UID. Also if caller's uid or gid matches the
|
||||||
|
# socket's uid or gid the lookup succeeds. Anything else causes a failure.
|
||||||
|
#
|
||||||
|
# To give the caller full permissions to lookup all users, set the mode to
|
||||||
|
# something else than 0666 and Dovecot lets the kernel enforce the
|
||||||
|
# permissions (e.g. 0777 allows everyone full permissions).
|
||||||
|
unix_listener auth-userdb {
|
||||||
|
#mode = 0666
|
||||||
|
#user =
|
||||||
|
#group =
|
||||||
|
}
|
||||||
|
|
||||||
|
# Postfix smtp-auth
|
||||||
|
unix_listener /var/spool/postfix/private/auth {
|
||||||
|
mode = 0660
|
||||||
|
user = postfix
|
||||||
|
group = postfix
|
||||||
|
}
|
||||||
|
# Exim4 smtp-auth
|
||||||
|
unix_listener auth-client {
|
||||||
|
mode = 0660
|
||||||
|
user = mail
|
||||||
|
}
|
||||||
|
|
||||||
|
# Auth process is run as this user.
|
||||||
|
#user = $default_internal_user
|
||||||
|
}
|
||||||
|
|
||||||
|
service auth-worker {
|
||||||
|
# Auth worker process is run as root by default, so that it can access
|
||||||
|
# /etc/shadow. If this isn't necessary, the user should be changed to
|
||||||
|
# $default_internal_user.
|
||||||
|
#user = root
|
||||||
|
}
|
||||||
|
|
||||||
|
service dict {
|
||||||
|
# If dict proxy is used, mail processes should have access to its socket.
|
||||||
|
# For example: mode=0660, group=vmail and global mail_access_groups=vmail
|
||||||
|
unix_listener dict {
|
||||||
|
#mode = 0600
|
||||||
|
#user =
|
||||||
|
#group =
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</content>
|
||||||
|
</file>
|
||||||
|
<include>//service[@type='mail']/general/commands[@index=1]
|
||||||
|
</include>
|
||||||
|
</daemon>
|
||||||
|
<!-- Dovecot with exim4 -->
|
||||||
|
<daemon name="dovecot_exim4" version="2" title="Dovecot with exim4">
|
||||||
|
<include>//service[@type='mail']/general/installs[@index=1]
|
||||||
|
</include>
|
||||||
|
<include>//service[@type='mail']/general/files[@index=1]
|
||||||
|
</include>
|
||||||
|
<file name="/etc/dovecot/conf.d/10-master.conf" chown="root:0"
|
||||||
|
chmod="0640" backup="true">
|
||||||
|
<content><![CDATA[
|
||||||
|
#default_process_limit = 100
|
||||||
|
#default_client_limit = 1000
|
||||||
|
|
||||||
|
# Default VSZ (virtual memory size) limit for service processes. This is mainly
|
||||||
|
# intended to catch and kill processes that leak memory before they eat up
|
||||||
|
# everything.
|
||||||
|
#default_vsz_limit = 256M
|
||||||
|
|
||||||
|
# Login user is internally used by login processes. This is the most untrusted
|
||||||
|
# user in Dovecot system. It shouldn't have access to anything at all.
|
||||||
|
#default_login_user = dovenull
|
||||||
|
|
||||||
|
# Internal user is used by unprivileged processes. It should be separate from
|
||||||
|
# login user, so that login processes can't disturb other processes.
|
||||||
|
#default_internal_user = dovecot
|
||||||
|
|
||||||
|
service imap-login {
|
||||||
|
inet_listener imap {
|
||||||
|
#port = 143
|
||||||
|
}
|
||||||
|
inet_listener imaps {
|
||||||
|
#port = 993
|
||||||
|
#ssl = yes
|
||||||
|
}
|
||||||
|
|
||||||
|
# Number of connections to handle before starting a new process. Typically
|
||||||
|
# the only useful values are 0 (unlimited) or 1. 1 is more secure, but 0
|
||||||
|
# is faster. <doc/wiki/LoginProcess.txt>
|
||||||
|
#service_count = 1
|
||||||
|
|
||||||
|
# Number of processes to always keep waiting for more connections.
|
||||||
|
#process_min_avail = 0
|
||||||
|
|
||||||
|
# If you set service_count=0, you probably need to grow this.
|
||||||
|
#vsz_limit = $default_vsz_limit
|
||||||
|
}
|
||||||
|
|
||||||
|
service pop3-login {
|
||||||
|
inet_listener pop3 {
|
||||||
|
#port = 110
|
||||||
|
}
|
||||||
|
inet_listener pop3s {
|
||||||
|
#port = 995
|
||||||
|
#ssl = yes
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
service lmtp {
|
||||||
|
unix_listener lmtp {
|
||||||
|
#mode = 0666
|
||||||
|
}
|
||||||
|
|
||||||
|
# Create inet listener only if you can't use the above UNIX socket
|
||||||
|
#inet_listener lmtp {
|
||||||
|
# Avoid making LMTP visible for the entire internet
|
||||||
|
#address =
|
||||||
|
#port =
|
||||||
|
#}
|
||||||
|
}
|
||||||
|
|
||||||
|
service imap {
|
||||||
|
# Most of the memory goes to mmap()ing files. You may need to increase this
|
||||||
|
# limit if you have huge mailboxes.
|
||||||
|
#vsz_limit = $default_vsz_limit
|
||||||
|
|
||||||
|
# Max. number of IMAP processes (connections)
|
||||||
|
#process_limit = 1024
|
||||||
|
}
|
||||||
|
|
||||||
|
service pop3 {
|
||||||
|
# Max. number of POP3 processes (connections)
|
||||||
|
#process_limit = 1024
|
||||||
|
}
|
||||||
|
|
||||||
|
service auth {
|
||||||
|
# auth_socket_path points to this userdb socket by default. It's typically
|
||||||
|
# used by dovecot-lda, doveadm, possibly imap process, etc. Users that have
|
||||||
|
# full permissions to this socket are able to get a list of all usernames and
|
||||||
|
# get the results of everyone's userdb lookups.
|
||||||
|
#
|
||||||
|
# The default 0666 mode allows anyone to connect to the socket, but the
|
||||||
|
# userdb lookups will succeed only if the userdb returns an "uid" field that
|
||||||
|
# matches the caller process's UID. Also if caller's uid or gid matches the
|
||||||
|
# socket's uid or gid the lookup succeeds. Anything else causes a failure.
|
||||||
|
#
|
||||||
|
# To give the caller full permissions to lookup all users, set the mode to
|
||||||
|
# something else than 0666 and Dovecot lets the kernel enforce the
|
||||||
|
# permissions (e.g. 0777 allows everyone full permissions).
|
||||||
|
unix_listener auth-userdb {
|
||||||
|
#mode = 0666
|
||||||
|
#user =
|
||||||
|
#group =
|
||||||
|
}
|
||||||
|
|
||||||
|
# Postfix smtp-auth
|
||||||
|
unix_listener /var/spool/postfix/private/auth {
|
||||||
|
mode = 0660
|
||||||
|
user = postfix
|
||||||
|
group = postfix
|
||||||
|
}
|
||||||
|
# Exim4 smtp-auth
|
||||||
|
unix_listener auth-client {
|
||||||
|
mode = 0660
|
||||||
|
user = mail
|
||||||
|
group = Debian-exim
|
||||||
|
}
|
||||||
|
|
||||||
|
# Auth process is run as this user.
|
||||||
|
#user = $default_internal_user
|
||||||
|
}
|
||||||
|
|
||||||
|
service auth-worker {
|
||||||
|
# Auth worker process is run as root by default, so that it can access
|
||||||
|
# /etc/shadow. If this isn't necessary, the user should be changed to
|
||||||
|
# $default_internal_user.
|
||||||
|
#user = root
|
||||||
|
}
|
||||||
|
|
||||||
|
service dict {
|
||||||
|
# If dict proxy is used, mail processes should have access to its socket.
|
||||||
|
# For example: mode=0660, group=vmail and global mail_access_groups=vmail
|
||||||
|
unix_listener dict {
|
||||||
|
#mode = 0600
|
||||||
|
#user =
|
||||||
|
#group =
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</content>
|
||||||
|
</file>
|
||||||
|
<include>//service[@type='mail']/general/commands[@index=1]
|
||||||
|
</include>
|
||||||
</daemon>
|
</daemon>
|
||||||
<!-- Courier -->
|
<!-- Courier -->
|
||||||
<daemon name="courier" title="Courier">
|
<daemon name="courier" title="Courier">
|
||||||
|
|||||||
Reference in New Issue
Block a user