SYNOPSIS
vmm.cfgDESCRIPTION
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) : BooleanDetermines 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) : BooleanDetermines 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) : IntDetermines 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) : BooleanDetermines 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) : StringThe 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) : StringThe 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) : StringThe 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) : StringHostname or IP address of the database server.
database.module
module (default: psycopg2) : StringThe Python PostgreSQL database adapter module to be used. Supported modules are psycopg2 and pyPgSQL.
database.name
name (default: mailsys) : StringName of the database.
database.pass
pass (default: None) : StringDatabase password.
database.port
port (default: 5432) : IntThe TCP port, on which the database server is listening for connections.
database.sslmode
sslmode (default: prefer) : StringDetermines 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) : StringName 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) : BooleanDetermines if vmm(1) should create also a postmaster account when a new domain is created (domainadd).
domain.delete_directory
delete_directory (default: false) : BooleanSpecifies 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) : BooleanForce the deletion of accounts and aliases when a domain is deleted (domaindelete).
domain.imap
imap (default: true) : BooleanDetermines whether newly created users can log in via IMAP.
domain.pop3
pop3 (default: true) : BooleanDetermines whether newly created users can log in via POP3.
domain.quota_bytes
quota_bytes (default: 0) : StringQuota 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) : IntQuota limit in number of messages. 0 means unlimited. This limit will be applied to all newly created domains.
domain.sieve
sieve (default: true) : BooleanDetermines whether newly created users can log in via SIEVE (ManageSieve).
domain.smtp
smtp (default: true) : BooleanDetermines whether newly created users can log in via SMTP (SMTP AUTH).
domain.transport
transport (default: dovecot:) : StringDefault 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) : StringA 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).
mailbox.format
format (default: maildir) : StringThe 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) : StringName 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) : BooleanWhen 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) : StringAll domain directories will be created inside this directory.
misc.crypt_blowfish_rounds
crypt_blowfish_rounds (default: 5) : IntNumber 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) : IntNumber 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) : IntNumber 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) : StringPassword 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
INTERNET RESOURCES
- Homepage
- http://vmm.localdomain.org/
- Project site
- http://sf.net/projects/vmm/
- Bug tracker
- https://bitbucket.org/pvo/vmm/issues