NAME¶
vmm.cfg - configuration file for vmm
SYNOPSIS¶
vmm.cfg
DESCRIPTION¶
vmm(1) reads its configuration data from
vmm.cfg.
The configuration file is split into multiple sections. A section starts with
the section name, enclosed in square brackets `
[' and `
]',
followed by `
option =
value' pairs.
Whitespace around the `=' and at the end of a value is ignored. Empty lines and
lines starting with `#' or `;' will be ignored.
Each value uses one of the following data types:
- Boolean
- to indicate if something is enabled/activated (true) or
disabled/deactivated (false).
Accepted values for true are: 1, yes, true and
on.
Accepted values for false are: 0, no, false and
off.
- Int
- an integer number, written without a fractional or decimal
component.
For example 1, 50 or 321 are integers.
- String
- a sequence of characters and/or numbers.
For example `word', `hello world' or `/usr/bin/strings'
are strings.
Most options have a default value, shown in parentheses after the option's name.
In order to use a option's default setting, comment out the line, either with
a
# or
; or simply remove the setting from
vmm.cfg.
A minimal
vmm.cfg would be:
[database]
user = me
pass = xxxxxxxx
[misc]
dovecot_version = 1.2.16
SEARCH ORDER¶
By default
vmm(1) looks for the
vmm.cfg file in the following
directories in the order listed:
- /root
- /usr/local/etc
- /etc
The first configuration file found will be used.
SECTION ACCOUNT¶
The options in the section
account are used to specify user account
related settings.
account.delete_directory¶
delete_directory (default: false) :
Boolean
Determines the behavior of
vmm(1) when an account is deleted
(userdelete). If this option is set to
true the user's home directory
will be deleted recursively.
account.directory_mode¶
directory_mode (default: 448) :
Int
Access mode for a user's home directory and all directories inside. The value
has to be specified in decimal (base 10) notation.
For example: `drwx------' → octal 0700 → decimal 448
account.disk_usage¶
disk_usage (default: false) :
Boolean
Determines whether the disk usage of a user's mail directory always should be
summarized, using
du(1), and displayed with the account information
(userinfo).
This could be slow on large Maildirs. When you have enabled quotas,
vmm's
userinfo subcommand will also display the current quota usage of the account.
You may also use userinfo's optional details-argument
du or
full, in order to display the current disk usage of an account's mail
directory.
account.password_length¶
password_length (default: 8) :
Int
Determines how many characters and/or numbers should be used for randomly
generated passwords. Any value less than 8 will be increased to 8.
account.random_password¶
random_password (default: false) :
Boolean
Determines whether
vmm(1) should generate a random password when no
password was given for the useradd subcommand. If this option is set to
false vmm will prompt you to enter a password for the new
account.
You can specify the password length of generated passwords with the
account.password_length option.
SECTION BIN¶
The
bin section is used to specify some paths to some binaries required
by
vmm(1).
bin.dovecotpw¶
dovecotpw (default: /usr/sbin/dovecotpw) :
String
The absolute path to the
dovecotpw(1) binary. Use the absolute path to
the
doveadm(1) binary, if you are using Dovecot v2.0.
This binary is used to generate a password hash, if
misc.password_scheme
is set to one of `CRAM-MD5', `HMAC-MD5', `LANMAN', `OTP', `RPA' or `SKEY'.
This binary will be also required if your Python installation doesn't support
the:
- •
- md4 hash algorithm (hashlib + OpenSSL or PyCrypto) used for
the password schemes: `PLAIN-MD4' and `NTLM'
- •
- sha256 hash algorithm (hashlib or PyCrypto ≥
2.1.0alpha1) used for the password schemes: `SHA256' and `SSHA256'
- •
- sha512 hash algorithm (hashlib) used for the password
schemes: `SHA512' and `SSHA512'
The
doveadm(1) binary is also used to create a user's INBOX and
additional mailboxes (
mailbox.folders), when the
mailbox.format
is set to
mdbox or
sdbox.
bin.du¶
du (default: /usr/bin/du) :
String
The absolute path to
du(1). This binary is used to summarize the disk
usage of a user's mail directory.
bin.postconf¶
postconf (default: /usr/sbin/postconf) :
String
The absolute path to Postfix'
postconf(1). This binary is required when
vmm(1) has to check for some Postfix settings, e.g. the
virtual_alias_expansion_limit.
SECTION DATABASE¶
The
database section is used to specify some options required to connect
to the database.
database.host¶
host (default: localhost) :
String
Hostname or IP address of the database server.
database.module¶
module (default: psycopg2) :
String
The Python PostgreSQL database adapter module to be used. Supported modules are
psycopg2 and
pyPgSQL.
database.name¶
name (default: mailsys) :
String
Name of the database.
database.pass¶
pass (default:
None) :
String
Database password.
database.port¶
port (default: 5432) :
Int
The TCP port, on which the database server is listening for connections.
database.sslmode¶
sslmode (default: prefer) :
String
Determines whether and with what priority an SSL connection will be negotiated
with the database server. Possible values are:
disabled,
allow,
prefer,
require,
verify-ca and
verify-full. The
modes
verify-ca and
verify-full are available since PostgreSQL
8.4
This setting will be ignored when the
database.module is set to
pyPgSQL.
database.user¶
user (default:
None) :
String
Name of the database user.
SECTION DOMAIN¶
The
domain section specifies some domain related settings.
The quota limit (quota_bytes and quota_messages), service settings (imap, pop3,
sieve and smtp) and the transport setting will be applied when a domain is
created. In order to modify those settings for an existing domain, use one of
the following
vmm(1) subcommands:
- domainquota
- in order to update a domain's quota limit
- domainservices
- in order to assign a different service set to a domain
- domaintransport
- in order to set a new default domain transport
When an account is created, it inherits all the settings of the domain to which
it is added. Different settings for an existing account can be set using the
subcommands
userquota,
userservices and
usertransport.
domain.auto_postmaster¶
auto_postmaster (default: true) :
Boolean
Determines if
vmm(1) should create also a postmaster account when a new
domain is created (domainadd).
domain.delete_directory¶
delete_directory (default: false) :
Boolean
Specifies whether the domain directory and all user directories inside should be
deleted when a domain is deleted (domaindelete).
domain.directory_mode¶
directory_mode (default: 504) :
Int
Access mode for the domain directory in decimal (base 10) notation.
For example: `drwxrwx---' → octal 0770 → decimal 504
domain.force_deletion¶
force_deletion (default: false) :
Boolean
Force the deletion of accounts and aliases when a domain is deleted
(domaindelete).
domain.imap¶
imap (default: true) :
Boolean
Determines whether newly created users can log in via IMAP.
domain.pop3¶
pop3 (default: true) :
Boolean
Determines whether newly created users can log in via POP3.
domain.quota_bytes¶
quota_bytes (default: 0) :
String
Quota limit in bytes. 0 means unlimited. This limit will be applied to all newly
created domains.
The option's value can be written as an integer value, e.g.:
20480. It's
also possible to append one of the following prefixes to the limit:
b
(bytes),
k (kilobytes),
M (megabytes) or
G (gigabytes).
1024 is the same as 1024b or 1k.
domain.quota_messages¶
quota_messages (default: 0) :
Int
Quota limit in number of messages. 0 means unlimited. This limit will be applied
to all newly created domains.
domain.sieve¶
sieve (default: true) :
Boolean
Determines whether newly created users can log in via SIEVE (ManageSieve).
domain.smtp¶
smtp (default: true) :
Boolean
Determines whether newly created users can log in via SMTP (SMTP AUTH).
domain.transport¶
transport (default: dovecot:) :
String
Default transport for domains and accounts. For details see
transport(5).
SECTION MAILBOX¶
The
mailbox section is used to specify some options for new created
mailboxes in the users home directories. The INBOX will be created always.
mailbox.folders¶
folders (default: Drafts:Sent:Templates:Trash) :
String
A colon separated list of mailboxes that should be created. If no additionally
mailboxes should be created, set the value of this option to a single colon
(`
:').
If you want to create folders containing one or more subfolders, separate them
with a single dot (`
.').
If you want to use internationalized mailbox names (e.g. `Wysłane' or
`Gelöschte Objekte'), write their names UTF-8 encoded.
vmm(1) will
convert internationalized mailbox names to a modified version of the UTF-7
encoding (see also: RFC 3501, section 5.1.3).
format (default: maildir) :
String
The mailbox format to be used for a user's mailbox. Depending on the used
Dovecot version (
misc.dovecot_version)
vmm(1) supports up to
three formats:
- maildir
- Dovecot ≥ v1.0.0
- mdbox
- Dovecot ≥ v2.0.beta5
- sdbox
- Dovecot ≥ v2.0.rc3
mailbox.root¶
root (default: Maildir) :
String
Name of the mailbox root directory in a user's home directory. Commonly used
names, depending on the used
mailbox.format, are
Maildir,
mdbox or
sdbox.
mailbox.subscribe¶
subscribe (default: true) :
Boolean
When this option is set to
true, the mailboxes from the
mailbox.folders option will be listed in the user's subscriptions file.
If you don't want to subscribe the created mailboxes, set this option to
false.
SECTION MISC¶
The
misc section is used to define miscellaneous settings.
misc.base_directory¶
base_directory (default: /srv/mail) :
String
All domain directories will be created inside this directory.
misc.crypt_blowfish_rounds¶
crypt_blowfish_rounds (default: 5) :
Int
Number of encryption rounds for the
password_scheme BLF-CRYPT.
The value must be in range
4 -
31.
misc.crypt_sha256_rounds¶
crypt_sha256_rounds (default: 5000) :
Int
Number of encryption rounds for the
password_scheme SHA256-CRYPT.
The value must be in range
1000 -
999999999.
misc.crypt_sha512_rounds¶
crypt_sha512_rounds (default: 5000) :
Int
Number of encryption rounds for the
password_scheme SHA512-CRYPT.
The value must be in range
1000 -
999999999.
misc.dovecot_version¶
dovecot_version (default:
None) :
String
The version number of the currently used Dovecot version. (see:
dovecot
--version)
When, for example, the command
dovecot --version prints
2.0.beta4
(8818db00d347), set the value of this option to
2.0.beta4.
misc.password_scheme¶
password_scheme (default: CRAM-MD5) :
String
Password scheme to use. To get a list of all usable password schemes execute the
command
vmm lp.
With Dovecot ≥ v1.1.alpha1 it is also possible to append an encoding
suffix to the password_scheme. Supported encoding suffixes are:
.b64,
.base64 and
.hex. For example: PLAIN.BASE64
EXAMPLE¶
An example configuration. All options that are not listed in the configuration
file will have their default values.
[account]
password_length = 10
random_password = true
[bin]
dovecotpw = /usr/bin/doveadm
[database]
host = dbsrv8.example.net
pass = PY_SRJ}L/0p-oOk
port = 5433
sslmode = require
user = vmm
[domain]
quota_bytes = 500M
quota_messages = 10000
transport = lmtp:unix:private/dovecot-lmtp
[mailbox]
folders = Drafts:Sent:Templates:Trash:Lists.Dovecot:Lists.Postfix
[misc]
crypt_sha512_rounds = 10000
dovecot_version = 2.0.beta4
password_scheme = SHA512-CRYPT.hex
SEE ALSO¶
postconf(1),
vmm(1),
transport(5)
INTERNET RESOURCES¶
- Wiki
- http://vmm.localdomain.org/
- Project site
- http://sf.net/projects/vmm/
- Bug tracker
- https://bitbucket.org/pvo/vmm/issues
COPYING¶
vmm and its manual pages were written by Pascal Volk <user+vmm AT
localhost.localdomain.org> and are licensed under the terms of the BSD
License.