man/man1/vmm.1
changeset 760 b678a1c43027
parent 748 659c4476c57c
child 761 e4e656f19771
equal deleted inserted replaced
748:659c4476c57c 760:b678a1c43027
     1 .TH "VMM" "1" "2012-09-27" "vmm 0.6" "vmm"
       
     2 .SH NAME
       
     3 vmm \- command line tool to manage email domains/accounts/aliases
       
     4 .\" -----------------------------------------------------------------------
       
     5 .SH SYNOPSIS
       
     6 .B vmm
       
     7 .IR subcommand " [" "argument ..." ]
       
     8 .\" -----------------------------------------------------------------------
       
     9 .SH DESCRIPTION
       
    10 .B vmm
       
    11 (a virtual mail manager) is the easy to use command line tool for
       
    12 administrators and postmasters to manage (alias) domains, accounts, aliases
       
    13 and relocated users.
       
    14 It allows you to simply and quickly administer your mail server.
       
    15 .br
       
    16 It's designed for Dovecot and Postfix with a PostgreSQL backend.
       
    17 .PP
       
    18 Each
       
    19 .I subcommand
       
    20 has both a long and a short form.
       
    21 The short form is shown enclosed in parentheses.
       
    22 Both forms are case sensitive.
       
    23 .PP
       
    24 Most of the
       
    25 .IR subcommand s
       
    26 take one or more
       
    27 .IR argument s.
       
    28 .\" -----------------------------------------------------------------------
       
    29 .SH ARGUMENTS
       
    30 .TP 12
       
    31 .I address
       
    32 The complete e\-mail address
       
    33 .RI ( local\-part @ fqdn )
       
    34 of an user account, alias address or relocated user.
       
    35 .\" --------------------------
       
    36 .TP
       
    37 .I destination
       
    38 Is either an e\-mail
       
    39 .I address
       
    40 when used with
       
    41 .IR "ALIAS SUBCOMMANDS" .
       
    42 Or a
       
    43 .I fqdn
       
    44 when used with
       
    45 .IR "ALIASDOMAIN SUBCOMMANDS" .
       
    46 .\" --------------------------
       
    47 .TP
       
    48 .I fqdn
       
    49 The fully qualified domain name \- without the trailing dot \- of a domain
       
    50 or alias domain.
       
    51 .\" --------------------------
       
    52 .TP
       
    53 .I messages
       
    54 An integer value which specifies a quota limit in number of messages.
       
    55 .B 0
       
    56 (zero) means unlimited \- no quota limit for the number of messages.
       
    57 .\" --------------------------
       
    58 .TP
       
    59 .I option
       
    60 is the name of a configuration option, prefixed with the section name and a
       
    61 dot.
       
    62 For example:
       
    63 .IB misc . transport
       
    64 .br
       
    65 All configuration options are described in
       
    66 .BR vmm.cfg (5).
       
    67 .\" --------------------------
       
    68 .TP
       
    69 .I service
       
    70 The name of a service, commonly used with Dovecot.
       
    71 Supported services are:
       
    72 .BR imap ", " pop3 ", " sieve " and " smtp .
       
    73 .\" --------------------------
       
    74 .TP
       
    75 .I storage
       
    76 Specifies a quota limit in bytes.
       
    77 One of the following prefixes can be appended to the integer value:
       
    78 .BR b " (bytes), " k " (kilobytes), " M " (megabytes) or " G
       
    79 (gigabytes).
       
    80 .B 0
       
    81 (zero) means unlimited \- no quota limit in bytes.
       
    82 .\" --------------------------
       
    83 .TP
       
    84 .I transport
       
    85 A transport for Postfix, written as:
       
    86 .IB transport :
       
    87 or
       
    88 .IB transport :\c
       
    89 .IR nexthop .
       
    90 See
       
    91 .BR transport (5)
       
    92 for more details.
       
    93 .\" -----------------------------------------------------------------------
       
    94 .SH GENERAL SUBCOMMANDS
       
    95 .SS configget (cg)
       
    96 .BI "vmm configget" " option"
       
    97 .PP
       
    98 This subcommand is used to display the actual value of the given
       
    99 configuration
       
   100 .IR option .
       
   101 .PP
       
   102 Example:
       
   103 .PP
       
   104 .nf
       
   105 .B vmm configget misc.crypt_sha512_rounds
       
   106 misc.crypt_sha512_rounds = 5000
       
   107 .fi
       
   108 .\" ------------------------------------
       
   109 .SS configset (cs)
       
   110 .B vmm configset
       
   111 .I option value
       
   112 .PP
       
   113 Use this subcommand to set or update a single configuration option's value.
       
   114 .I option
       
   115 is the configuration option,
       
   116 .I value
       
   117 is the
       
   118 .IR option 's
       
   119 new value.
       
   120 .IP Note:
       
   121 This subcommand will create a new
       
   122 .I vmm.cfg
       
   123 without any comments.
       
   124 Your current configuration file will be backed as
       
   125 .IR vmm.cfg.bak .
       
   126 .PP
       
   127 Example:
       
   128 .PP
       
   129 .nf
       
   130 .B vmm configget domain.transport
       
   131 domain.transport = dovecot:
       
   132 .B vmm configset domain.transport lmtp:unix:private/dovecot\-lmtp
       
   133 .B vmm cg domain.transport
       
   134 domain.transport = lmtp:unix:private/dovecot\-lmtp
       
   135 .fi
       
   136 .\" ------------------------------------
       
   137 .SS configure (cf)
       
   138 .B vmm configure
       
   139 .RI [ section ]
       
   140 .PP
       
   141 Starts the interactive configuration for all configuration sections.
       
   142 .PP
       
   143 In this process the currently set value of each option will be displayed in
       
   144 square brackets.
       
   145 If no value is configured, the default value of each option will be
       
   146 displayed in square brackets.
       
   147 Press the return key, to accept the displayed value.
       
   148 .PP
       
   149 If the optional argument
       
   150 .I section
       
   151 is given, only the configuration options from the given section will be
       
   152 displayed and will be configurable.
       
   153 The following sections are available:
       
   154 .RS
       
   155 .TP 10
       
   156 .B account
       
   157 Account settings
       
   158 .TP
       
   159 .B bin
       
   160 Paths to external binaries
       
   161 .TP
       
   162 .B database
       
   163 Database settings
       
   164 .TP
       
   165 .B domain
       
   166 Domain settings
       
   167 .TP
       
   168 .B mailbox
       
   169 Mailbox settings
       
   170 .TP
       
   171 .B misc
       
   172 Miscellaneous settings
       
   173 .RE
       
   174 .PP
       
   175 All configuration options are described in
       
   176 .BR vmm.cfg (5).
       
   177 .IP Note:
       
   178 This subcommand will create a new
       
   179 .I vmm.cfg
       
   180 without any comments.
       
   181 Your current configuration file will be backed as
       
   182 .IR vmm.cfg.bak .
       
   183 .PP
       
   184 Example:
       
   185 .PP
       
   186 .nf
       
   187 .B vmm configure mailbox
       
   188 Using configuration file: /usr/local/etc/vmm.cfg
       
   189 
       
   190 * Configuration section: `mailbox'
       
   191 Enter new value for option folders [Drafts:Sent:Templates:Trash]:
       
   192 Enter new value for option format [maildir]: mdbox
       
   193 Enter new value for option subscribe [True]:
       
   194 Enter new value for option root [Maildir]: mdbox
       
   195 .fi
       
   196 .\" ------------------------------------
       
   197 .SS getuser (gu)
       
   198 .BI "vmm getuser" " uid"
       
   199 .PP
       
   200 If only the
       
   201 .I uid
       
   202 is available, for example from process list, the subcommand
       
   203 .B getuser
       
   204 will show the user's address.
       
   205 .PP
       
   206 Example:
       
   207 .PP
       
   208 .nf
       
   209 .B vmm getuser 79876
       
   210 Account information
       
   211 -------------------
       
   212         UID............: 79876
       
   213         GID............: 70704
       
   214         Address........: a.user@example.com
       
   215 .fi
       
   216 .\" ------------------------------------
       
   217 .SS help (h)
       
   218 .B vmm help
       
   219 .RI [ subcommand ]
       
   220 .PP
       
   221 Prints a list of available subcommands with a short description to stdout.
       
   222 When a
       
   223 .I subcommand
       
   224 was given, help for that
       
   225 .I subcommand
       
   226 will be displayed.
       
   227 After this
       
   228 .B vmm
       
   229 exits.
       
   230 .\" ------------------------------------
       
   231 .SS listdomains (ld)
       
   232 .B vmm listdomains
       
   233 .RI [ pattern ]
       
   234 .PP
       
   235 This subcommand lists all available domains.
       
   236 All domain names will be prefixed either with `[+]', if the domain is a
       
   237 primary domain, or with `[-]', if it is an alias domain name.
       
   238 The output can be limited with an optional
       
   239 .IR pattern .
       
   240 .PP
       
   241 To perform a wild card search, the % character can be used at the start
       
   242 and/or the end of the
       
   243 .IR pattern .
       
   244 .PP
       
   245 Example:
       
   246 .PP
       
   247 .nf
       
   248 .B vmm listdomains %example%
       
   249 Matching domains
       
   250 ----------------
       
   251         [+] example.com
       
   252         [\-]     e.g.example.com
       
   253         [\-]     example.name
       
   254         [+] example.net
       
   255         [+] example.org
       
   256 .fi
       
   257 .\" ------------------------------------
       
   258 .SS listaddresses (ll)
       
   259 .B vmm listaddresses
       
   260 .RI [ pattern ]
       
   261 .PP
       
   262 This command lists all defined addresses. Addresses belonging to
       
   263 alias-domains are prefixed with a '-', addresses of regular domains with
       
   264 a '+'. Additionally, the letters 'u', 'a', and 'r' indicate the type of
       
   265 each address: user, alias and relocated respectively.
       
   266 The output can be limited with an optional
       
   267 .IR pattern .
       
   268 .PP
       
   269 To perform a wild card search, the % character can be used at the start
       
   270 and/or the end of the
       
   271 .IR pattern .
       
   272 .PP
       
   273 Example:
       
   274 .PP
       
   275 .nf
       
   276 .B vmm listaddresses example.com
       
   277 .B vmm listaddresses %master@%
       
   278 .\" ------------------------------------
       
   279 .SS listaliases (la)
       
   280 .B vmm listaliases
       
   281 .RI [ pattern ]
       
   282 .PP
       
   283 This command lists all defined aliases. Aliases belonging to
       
   284 alias-domains are prefixed with a '-', addresses of regular domains with
       
   285 a '+'.
       
   286 The output can be limited with an optional
       
   287 .IR pattern .
       
   288 .PP
       
   289 To perform a wild card search, the % character can be used at the start
       
   290 and/or the end of the
       
   291 .IR pattern .
       
   292 .PP
       
   293 Example:
       
   294 .PP
       
   295 .nf
       
   296 .B vmm listaliases example.com
       
   297 .B vmm listaliases %master@%
       
   298 .\" ------------------------------------
       
   299 .SS listrelocated (lr)
       
   300 .B vmm listrelocated
       
   301 .RI [ pattern ]
       
   302 .PP
       
   303 This command lists all defined relocated addresses. Relocated entries
       
   304 belonging to alias-domains are prefixed with a '-', addresses of regular
       
   305 domains with
       
   306 a '+'.
       
   307 The output can be limited with an optional
       
   308 .IR pattern .
       
   309 .PP
       
   310 To perform a wild card search, the % character can be used at the start
       
   311 and/or the end of the
       
   312 .IR pattern .
       
   313 .PP
       
   314 Example:
       
   315 .PP
       
   316 .nf
       
   317 .B vmm listrelocated example.com
       
   318 .B vmm listrelocated %master@%
       
   319 .\" ------------------------------------
       
   320 .SS listusers (lu)
       
   321 .B vmm listusers
       
   322 .RI [ pattern ]
       
   323 .PP
       
   324 This command lists all user accounts. User accounts belonging to
       
   325 alias-domains are prefixed with a '-', addresses of regular
       
   326 domains with
       
   327 a '+'.
       
   328 The output can be limited with an optional
       
   329 .IR pattern .
       
   330 .PP
       
   331 To perform a wild card search, the % character can be used at the start
       
   332 and/or the end of the
       
   333 .IR pattern .
       
   334 .PP
       
   335 Example:
       
   336 .PP
       
   337 .nf
       
   338 .B vmm listusers example.com
       
   339 .B vmm listusers %master@%
       
   340 .\" ------------------------------------
       
   341 .SS listpwschemes (lp)
       
   342 .B vmm listpwschemes
       
   343 .PP
       
   344 This subcommand lists all password schemes which could be used in the
       
   345 .I vmm.cfg
       
   346 as value of the
       
   347 .I misc.password_scheme
       
   348 option.
       
   349 The output varies, depending on the used Dovecot version and the system's
       
   350 libc.
       
   351 .br
       
   352 When your Dovecot installation isn't too old, you will see additionally a
       
   353 few usable encoding suffixes.
       
   354 One of them can be appended to the password scheme.
       
   355 .PP
       
   356 Example:
       
   357 .PP
       
   358 .nf
       
   359 .B vmm listpwschemes
       
   360 Usable password schemes
       
   361 -----------------------
       
   362         CRYPT SHA512-CRYPT LDAP-MD5 DIGEST-MD5 SHA256 SHA512 SSHA512
       
   363         SKEY SSHA NTLM RPA MD5-CRYPT HMAC-MD5 SHA1 PLAIN SHA CRAM-MD5
       
   364         SSHA256 MD5 LANMAN CLEARTEXT PLAIN-MD5 PLAIN-MD4 OTP SMD5
       
   365         SHA256-CRYPT
       
   366 
       
   367 Usable encoding suffixes
       
   368 ------------------------
       
   369         .B64 .BASE64 .HEX
       
   370 .fi
       
   371 .\" ------------------------------------
       
   372 .SS version (v)
       
   373 .B vmm version
       
   374 .PP
       
   375 Prints
       
   376 .BR vmm 's
       
   377 version and copyright information to stdout.
       
   378 After this
       
   379 .B vmm
       
   380 exits.
       
   381 .\" -----------------------------------------------------------------------
       
   382 .SH DOMAIN SUBCOMMANDS
       
   383 .SS domainadd (da)
       
   384 .B vmm domainadd
       
   385 .IR fqdn " [" transport ]
       
   386 .PP
       
   387 Adds the new domain into the database and creates the domain directory.
       
   388 .PP
       
   389 If the optional argument
       
   390 .I transport
       
   391 is given, it will override the default transport
       
   392 .RI ( domain.transport ") from " vmm.cfg .
       
   393 The specified
       
   394 .I transport
       
   395 will be the default transport for all new accounts in this domain.
       
   396 .PP
       
   397 Configuration\-related behavior:
       
   398 .RS
       
   399 .TP
       
   400 .I domain.auto_postmaster
       
   401 When that option is set to
       
   402 .BR true " (default) " vmm
       
   403 will automatically create the postmaster account for the new domain and
       
   404 prompt for
       
   405 .BI postmaster@ fqdn\c
       
   406 \(aqs password.
       
   407 .TP
       
   408 .I account.random_password
       
   409 When the value of that option is also set to
       
   410 .BR true ", " vmm
       
   411 will automatically create the postmaster account for the new domain and
       
   412 print the generated postmaster password to stdout.
       
   413 .RE
       
   414 .PP
       
   415 Examples:
       
   416 .PP
       
   417 .nf
       
   418 .B vmm domainadd support.example.com smtp:[mx1.example.com]:2025
       
   419 Creating account for postmaster@support.example.com
       
   420 Enter new password:
       
   421 Retype new password:
       
   422 .B vmm cs account.random_password true
       
   423 .B vmm domainadd sales.example.com
       
   424 Creating account for postmaster@sales.example.com
       
   425 Generated password: pLJUQ6Xg_z
       
   426 .fi
       
   427 .\" ------------------------------------
       
   428 .SS domaindelete (dd)
       
   429 .BI "vmm domaindelete " fqdn
       
   430 .RB [ force ]
       
   431 .PP
       
   432 This subcommand deletes the domain specified by
       
   433 .IR fqdn .
       
   434 .PP
       
   435 If there are accounts, aliases and/or relocated users assigned to the given
       
   436 domain,
       
   437 .B vmm
       
   438 will abort the requested operation and show an error message.
       
   439 If you know, what you are doing, you can specify the optional keyword
       
   440 .BR force .
       
   441 .PP
       
   442 If you really always know what you are doing, edit your
       
   443 .I vmm.cfg
       
   444 and set the option
       
   445 .I domain.force_deletion
       
   446 to
       
   447 .BR true .
       
   448 .\" ------------------------------------
       
   449 .SS domaininfo (di)
       
   450 .B vmm domaininfo
       
   451 .IR fqdn \ [ details ]
       
   452 .PP
       
   453 This subcommand shows some information about the given domain.
       
   454 .PP
       
   455 For a more detailed information about the domain the optional argument
       
   456 .I details
       
   457 can be specified.
       
   458 A possible
       
   459 .I details
       
   460 value can be one of the following six keywords:
       
   461 .RS
       
   462 .TP 14
       
   463 .B accounts
       
   464 to list the e\-mail addresses of all existing user accounts
       
   465 .TP
       
   466 .B aliasdomains
       
   467 to list all assigned alias domain names
       
   468 .TP
       
   469 .B aliases
       
   470 to list all available alias e\-mail addresses
       
   471 .TP
       
   472 .B catchall
       
   473 to list all catch\-all destinations
       
   474 .TP
       
   475 .B relocated
       
   476 to list the e\-mail addresses of all relocated users
       
   477 .TP
       
   478 .B full
       
   479 to list all information mentioned above
       
   480 .RE
       
   481 .PP
       
   482 Example:
       
   483 .PP
       
   484 .nf
       
   485 .B vmm domaininfo sales.example.com
       
   486 Domain information
       
   487 ------------------
       
   488         Domain Name......: sales.example.com
       
   489         GID..............: 70708
       
   490         Domain Directory.: /srv/mail/c/70708
       
   491         Quota Limit/User.: Storage: 500.00 MiB; Messages: 10,000
       
   492         Active Services..: IMAP SIEVE
       
   493         Transport........: lmtp:unix:private/dovecot-lmtp
       
   494         Alias Domains....: 0
       
   495         Accounts.........: 1
       
   496         Aliases..........: 0
       
   497         Relocated........: 0
       
   498         Catch-All Dests..: 1
       
   499 .fi
       
   500 .\" ------------------------------------
       
   501 .SS domainquota (dq)
       
   502 .B vmm domainquota
       
   503 .IR "fqdn storage" " [" messages ]
       
   504 .RB [ force ]
       
   505 .PP
       
   506 This subcommand is used to configure a new quota limit for the accounts of
       
   507 the domain - not for the domain itself.
       
   508 .PP
       
   509 The default quota limit for accounts is defined in the
       
   510 .IR vmm.cfg " (" domain.quota_bytes " and " domain.quota_messages ).
       
   511 .PP
       
   512 The new quota limit will affect only those accounts for which the limit
       
   513 has not been overridden. If you want to restore the default to all accounts,
       
   514 you may pass the keyword
       
   515 .BR force .
       
   516 .br
       
   517 When the argument
       
   518 .I messages
       
   519 was omitted the default number of messages
       
   520 .B 0
       
   521 (zero) will be applied.
       
   522 .PP
       
   523 Example:
       
   524 .PP
       
   525 .nf
       
   526 .B vmm domainquota example.com 1g force
       
   527 .fi
       
   528 .\" ------------------------------------
       
   529 .SS domainservices (ds)
       
   530 .B vmm domainservices
       
   531 .IR fqdn " [" "service ..." ]
       
   532 .RB [ force ]
       
   533 .PP
       
   534 To define which services could be used by the users of the domain \(em with
       
   535 the given
       
   536 .I fqdn
       
   537 \(em use this subcommand.
       
   538 .PP
       
   539 Each specified
       
   540 .I service
       
   541 will be enabled/usable.
       
   542 All other services will be deactivated/unusable.
       
   543 Possible service names are: 
       
   544 .BR  imap ", " pop3 ", " sieve " and " smtp .
       
   545 .br
       
   546 The new service set will affect only those accounts for which the set has not
       
   547 been overridden. If you want to restore the default to all accounts, you may
       
   548 pass the keyword
       
   549 .BR force .
       
   550 .\" ------------------------------------
       
   551 .SS domaintransport (dt)
       
   552 .BI "vmm domaintransport" " fqdn transport"
       
   553 .RB [ force ]
       
   554 .PP
       
   555 A new transport for the indicated domain can be set with this subcommand.
       
   556 .PP
       
   557 The new transport will affect only those accounts for which the transport has
       
   558 not been overridden. If you want to restore the default to all accounts, you
       
   559 may pass the keyword
       
   560 .BR force .
       
   561 .PP
       
   562 Example:
       
   563 .PP
       
   564 .nf
       
   565 .B vmm domaintransport support.example.com dovecot:
       
   566 .fi
       
   567 .\" ------------------------------------
       
   568 .SS domainnote (do)
       
   569 .BI "vmm domainnote" " fqdn"
       
   570 .RI [ note ]
       
   571 .PP
       
   572 With this subcommand, it is possible to attach a note to the specified
       
   573 domain. Without an argument, an existing note is removed.
       
   574 .PP
       
   575 Example:
       
   576 .PP
       
   577 .nf
       
   578 .B vmm do example.com Belongs to Robert
       
   579 .fi
       
   580 .\" -----------------------------------------------------------------------
       
   581 .SH ALIAS DOMAIN SUBCOMMANDS
       
   582 An alias domain is an alias for a domain that was previously added with the
       
   583 subcommand
       
   584 .BR domainadd .
       
   585 All accounts, aliases and relocated users from the domain will be also
       
   586 available in the alias domain.
       
   587 .br
       
   588 In the following is to be assumed that example.net is an alias for
       
   589 example.com.
       
   590 .PP
       
   591 Postfix will not accept erroneously e\-mails for unknown.user@example.net
       
   592 and bounce them back later to the mostly faked sender.
       
   593 Postfix will immediately reject all e\-mails addressed to nonexistent
       
   594 users.
       
   595 .br
       
   596 This behavior is ensured as long as you use the recommended database
       
   597 queries in your
       
   598 .I $config_directory/pgsql\-*.cf
       
   599 configuration files.
       
   600 .\" ------------------------------------
       
   601 .SS aliasdomainadd (ada)
       
   602 .BI "vmm aliasdomainadd" " fqdn destination"
       
   603 .PP
       
   604 This subcommand adds the new alias domain
       
   605 .RI ( fqdn )
       
   606 to the
       
   607 .I destination
       
   608 domain that should be aliased.
       
   609 .PP
       
   610 Example:
       
   611 .PP
       
   612 .nf
       
   613 .B vmm aliasdomainadd example.net example.com
       
   614 .fi
       
   615 .\" ------------------------------------
       
   616 .SS aliasdomaindelete (add)
       
   617 .BI "vmm aliasdomaindelete" " fqdn"
       
   618 .PP
       
   619 Use this subcommand if the alias domain
       
   620 .I fqdn
       
   621 should be removed.
       
   622 .PP
       
   623 Example:
       
   624 .PP
       
   625 .nf
       
   626 .B vmm aliasdomaindelete e.g.example.com
       
   627 .fi
       
   628 .\" ------------------------------------
       
   629 .SS aliasdomaininfo (adi)
       
   630 .BI "vmm aliasdomaininfo" " fqdn"
       
   631 .PP
       
   632 This subcommand shows to which domain the alias domain
       
   633 .I fqdn
       
   634 is assigned to.
       
   635 .PP
       
   636 Example:
       
   637 .PP
       
   638 .nf
       
   639 .B vmm adi example.net
       
   640 Alias domain information
       
   641 ------------------------
       
   642         The alias domain example.net belongs to:
       
   643             * example.com
       
   644 .fi
       
   645 .\" ------------------------------------
       
   646 .SS aliasdomainswitch (ads)
       
   647 .BI "vmm aliasdomainswitch" " fqdn destination"
       
   648 .PP
       
   649 If the destination of the existing alias domain
       
   650 .I fqdn
       
   651 should be switched to another
       
   652 .I destination
       
   653 use this subcommand.
       
   654 .nf
       
   655 .PP
       
   656 Example:
       
   657 .PP
       
   658 .B vmm aliasdomainswitch example.name example.org
       
   659 .fi
       
   660 .\" -----------------------------------------------------------------------
       
   661 .SH ACCOUNT SUBCOMMANDS
       
   662 .SS useradd (ua)
       
   663 .B vmm useradd
       
   664 .IR address " [" password ]
       
   665 .PP
       
   666 Use this subcommand to create a new e\-mail account for the given
       
   667 .IR address .
       
   668 .PP
       
   669 If the
       
   670 .I password
       
   671 is not provided,
       
   672 .B vmm
       
   673 will prompt for it interactively.
       
   674 When no
       
   675 .I password
       
   676 is provided and
       
   677 .I account.random_password
       
   678 is set to
       
   679 .BR true ", " vmm
       
   680 will generate a random password and print it to stdout after the account
       
   681 has been created.
       
   682 .PP
       
   683 Examples:
       
   684 .PP
       
   685 .nf
       
   686 .B vmm ua d.user@example.com \(dqA 5ecR3t P4s5\(rs/\(rs/0rd\(dq
       
   687 .B vmm useradd e.user@example.com
       
   688 Enter new password:
       
   689 Retype new password:
       
   690 .fi
       
   691 .\" ------------------------------------
       
   692 .SS userdelete (ud)
       
   693 .BI "vmm userdelete" " address"
       
   694 .RB [ force ]
       
   695 .PP
       
   696 Use this subcommand to delete the account with the given
       
   697 .IR address .
       
   698 .PP
       
   699 If there are one or more aliases with an identical destination address,
       
   700 .B vmm
       
   701 will abort the requested operation and show an error message.
       
   702 To prevent this, specify the optional keyword
       
   703 .BR force .
       
   704 .\" ------------------------------------
       
   705 .SS userinfo (ui)
       
   706 .B "vmm userinfo"
       
   707 .IR address " [" details ]
       
   708 .PP
       
   709 This subcommand displays some information about the account specified by
       
   710 .IR address .
       
   711 .PP
       
   712 If the optional argument
       
   713 .I details
       
   714 is given some more information will be displayed.
       
   715 Possible values for
       
   716 .I details
       
   717 are:
       
   718 .RS
       
   719 .TP 8
       
   720 .B aliases
       
   721 to list all alias addresses with the destination
       
   722 .I address
       
   723 .TP
       
   724 .B du
       
   725 to display the disk usage of the user's mail directory.
       
   726 In order to summarize the disk usage each time this subcommand is
       
   727 executed automatically, set
       
   728 .I account.disk_usage
       
   729 in your
       
   730 .I vmm.cfg
       
   731 to
       
   732 .BR true .
       
   733 .TP
       
   734 .B full
       
   735 to list all information mentioned above
       
   736 .RE
       
   737 .PP
       
   738 Example:
       
   739 .PP
       
   740 .nf
       
   741 .B vmm ui d.user@example.com
       
   742 Account information
       
   743 -------------------
       
   744         Address..........: d.user@example.com
       
   745         Name.............: None
       
   746         UID..............: 79881
       
   747         GID..............: 70704
       
   748         Home.............: /srv/mail/2/70704/79881
       
   749         Mail_Location....: mdbox:~/mdbox
       
   750         Quota Storage....: [  0.00%] 0/500.00 MiB
       
   751         Quota Messages...: [  0.00%] 0/10,000
       
   752         Transport........: lmtp:unix:private/dovecot-lmtp
       
   753         SMTP.............: disabled
       
   754         POP3.............: disabled
       
   755         IMAP.............: enabled
       
   756         SIEVE............: enabled
       
   757 .fi
       
   758 .\" ------------------------------------
       
   759 .SS username (un)
       
   760 .BI "vmm username" " address"
       
   761 .RI [ name ]
       
   762 .PP
       
   763 The user's real
       
   764 .I name
       
   765 can be set/updated with this subcommand.
       
   766 .PP
       
   767 If no
       
   768 .I name
       
   769 is given, the value stored for the account is erased.
       
   770 .PP
       
   771 Example:
       
   772 .PP
       
   773 .nf
       
   774 .B vmm un d.user@example.com \(dqJohn Doe\(dq
       
   775 .fi
       
   776 .\" ------------------------------------
       
   777 .SS userpassword (up)
       
   778 .BI "vmm userpassword" " address"
       
   779 .RI [ password ]
       
   780 .PP
       
   781 The password of an account can be updated with this subcommand.
       
   782 .PP
       
   783 If no
       
   784 .I password
       
   785 was provided,
       
   786 .B vmm
       
   787 will prompt for it interactively.
       
   788 .PP
       
   789 Example:
       
   790 .PP
       
   791 .nf
       
   792 .B vmm up d.user@example.com \(dqA |\(rs/|0r3 5ecur3 P4s5\(rs/\(rs/0rd?\(dq
       
   793 .fi
       
   794 .\" ------------------------------------
       
   795 .SS usernote (uo)
       
   796 .BI "vmm usernote" " address"
       
   797 .RI [ note ]
       
   798 .PP
       
   799 With this subcommand, it is possible to attach a note to the specified
       
   800 account. Without an argument, an existing note is removed.
       
   801 .PP
       
   802 Example:
       
   803 .PP
       
   804 .nf
       
   805 .B vmm uo d.user@example.com Only needed until end of May 2012
       
   806 .fi
       
   807 .\" ------------------------------------
       
   808 .SS userquota (uq)
       
   809 .BI "vmm userquota" " address storage"
       
   810 .RI [ messages ]
       
   811 .PP
       
   812 This subcommand is used to set a new quota limit for the given account.
       
   813 .PP
       
   814 When the argument
       
   815 .I messages
       
   816 was omitted the default number of messages
       
   817 .B 0
       
   818 (zero) will be applied.
       
   819 .PP
       
   820 Instead of
       
   821 .I storage
       
   822 pass the keyword
       
   823 .B domain
       
   824 to remove the account\-specific override, causing the domain's value to be
       
   825 in effect.
       
   826 .PP
       
   827 Example:
       
   828 .PP
       
   829 .nf
       
   830 .B vmm userquota d.user@example.com 750m
       
   831 .fi
       
   832 .\" ------------------------------------
       
   833 .SS userservices (us)
       
   834 .B vmm userservices
       
   835 .IR address " [" "service ..." ]
       
   836 .PP
       
   837 To grant a user access to the specified services, use this command.
       
   838 .PP
       
   839 All omitted services will be deactivated/unusable for the user with the
       
   840 given
       
   841 .IR address .
       
   842 .PP
       
   843 Instead of
       
   844 .I service
       
   845 pass 'domain' to remove the account\-specific override, causing the
       
   846 domain's value to be in effect.
       
   847 .PP
       
   848 Example:
       
   849 .PP
       
   850 .nf
       
   851 .B vmm userservices d.user@example.com SMTP IMAP
       
   852 .\" ------------------------------------
       
   853 .SS usertransport (ut)
       
   854 .BI "vmm usertransport" " address transport"
       
   855 .PP
       
   856 A different
       
   857 .I transport
       
   858 for an account can be specified with this subcommand.
       
   859 .PP
       
   860 Instead of
       
   861 .I transport
       
   862 pass 'domain' to remove the account\-specific override, causing the
       
   863 domain's value to be in effect.
       
   864 .PP
       
   865 Example:
       
   866 .br
       
   867 Assumed you want to use Dovecot's
       
   868 .BR dsync (1)
       
   869 to convert a user's mailbox from Maildir format to mdbox format, you
       
   870 can tell Postfix to retry later.
       
   871 .PP
       
   872 .nf
       
   873 .B vmm ut d.user@example.com \(dqretry:4.0.0 Mailbox being migrated\(dq
       
   874 # convert the mailbox ... then set the transport to Dovecot's lmtp
       
   875 .B vmm ut d.user@example.com lmtp:unix:private/dovecot\-lmtp
       
   876 .fi
       
   877 .\" -----------------------------------------------------------------------
       
   878 .SH ALIAS SUBCOMMANDS
       
   879 .SS aliasadd (aa)
       
   880 .BI "vmm aliasadd" " address destination ..."
       
   881 .PP
       
   882 This subcommand is used to create a new alias
       
   883 .I address
       
   884 with one or more
       
   885 .I destination
       
   886 addresses.
       
   887 .PP
       
   888 Within the destination address, the placeholders
       
   889 .IR %n ,
       
   890 .IR %d ,
       
   891 and
       
   892 .IR %=
       
   893 will be replaced by the local part, the domain, or the email address with '@'
       
   894 replaced by '=' respectively. In combination with alias domains, this enables
       
   895 domain\-specific destinations.
       
   896 .PP
       
   897 Examples:
       
   898 .PP
       
   899 .nf
       
   900 .B vmm aliasadd john.doe@example.com d.user@example.com
       
   901 .B vmm aa support@example.com d.user@example.com e.user@example.com
       
   902 .B vmm aa postmaster@example.com postmaster+%d@example.org
       
   903 .fi
       
   904 .\" ------------------------------------
       
   905 .SS aliasdelete (ad)
       
   906 .BI "vmm aliasdelete" " address"
       
   907 .RI [ destination " ...]"
       
   908 .PP
       
   909 This subcommand is used to delete one or multiple
       
   910 .IR  destination s
       
   911 from the alias with the given
       
   912 .IR address .
       
   913 .PP
       
   914 When no
       
   915 .I destination
       
   916 address was specified the alias with all its destinations will be deleted.
       
   917 .PP
       
   918 Example:
       
   919 .PP
       
   920 .nf
       
   921 .B vmm ad support@example.com d.user@example.com
       
   922 .fi
       
   923 .\" ------------------------------------
       
   924 .SS aliasinfo (ai)
       
   925 .BI "vmm aliasinfo" " address"
       
   926 .PP
       
   927 Information about the alias with the given
       
   928 .I address
       
   929 can be displayed with this subcommand.
       
   930 .PP
       
   931 Example:
       
   932 .PP
       
   933 .nf
       
   934 .B vmm aliasinfo support@example.com
       
   935 Alias information
       
   936 -----------------
       
   937         Mail for support@example.com will be redirected to:
       
   938              * e.user@example.com
       
   939 .fi
       
   940 .\" -----------------------------------------------------------------------
       
   941 .SH RELOCATED SUBCOMMANDS
       
   942 .SS relocatedadd (ra)
       
   943 .BI "vmm relocatedadd" " address newaddress"
       
   944 .PP
       
   945 A new relocated user can be created with this subcommand.
       
   946 .PP
       
   947 .I address
       
   948 is the user's ex\-email address, for example b.user@example.com, and
       
   949 .I newaddress
       
   950 points to the new email address where the user can be reached.
       
   951 .PP
       
   952 Example:
       
   953 .PP
       
   954 .nf
       
   955 .B vmm relocatedadd b.user@example.com b\-user@company.tld
       
   956 .fi
       
   957 .\" ------------------------------------
       
   958 .SS relocatedinfo (ri)
       
   959 .BI "vmm relocatedinfo " address
       
   960 .PP
       
   961 This subcommand shows the new address of the relocated user with the given
       
   962 .IR address .
       
   963 .PP
       
   964 Example:
       
   965 .PP
       
   966 .nf
       
   967 .B vmm relocatedinfo b.user@example.com
       
   968 Relocated information
       
   969 ---------------------
       
   970         User `b.user@example.com' has moved to `b\-user@company.tld'
       
   971 .fi
       
   972 .\" ------------------------------------
       
   973 .SS relocateddelete (rd)
       
   974 .BI "vmm relocateddelete " address
       
   975 .PP
       
   976 Use this subcommand in order to delete the relocated user with the given
       
   977 .IR address .
       
   978 .PP
       
   979 Example:
       
   980 .PP
       
   981 .nf
       
   982 .B vmm relocateddelete b.user@example.com
       
   983 .fi
       
   984 .\" -----------------------------------------------------------------------
       
   985 .SH CATCH\-ALL SUBCOMMANDS
       
   986 .SS catchalladd (caa)
       
   987 .BI "vmm catchalladd" " fqdn destination ..."
       
   988 .PP
       
   989 This subcommand allows to specify destination addresses for a domain, which
       
   990 shall receive mail addressed to unknown local parts within that domain.
       
   991 Those catch\-all aliases hence \(dqcatch all\(dq mail to any address in the
       
   992 domain (unless a more specific alias, mailbox or relocated entry exists).
       
   993 .PP
       
   994 WARNING: Catch\-all addresses can cause mail server flooding because
       
   995 spammers like to deliver mail to all possible combinations of names, e.g.
       
   996 to all addresses between abba@example.org and zztop@example.org.
       
   997 .PP
       
   998 Example:
       
   999 .PP
       
  1000 .nf
       
  1001 .B vmm catchalladd example.com user@example.org
       
  1002 .fi
       
  1003 .\" ------------------------------------
       
  1004 .SS catchallinfo (cai)
       
  1005 .BI "vmm catchallinfo " fqdn
       
  1006 .PP
       
  1007 This subcommand displays information about catch\-all aliases defined for
       
  1008 a domain.
       
  1009 .PP
       
  1010 Example:
       
  1011 .PP
       
  1012 .nf
       
  1013 .B vmm catchallinfo example.com
       
  1014 Catch-all information
       
  1015 ---------------------
       
  1016   Mail to unknown localparts in domain example.com will be sent to:
       
  1017          * user@example.org
       
  1018 .fi
       
  1019 .\" ------------------------------------
       
  1020 .SS catchalldelete (cad)
       
  1021 .BI "vmm catchalldelete " fqdn
       
  1022 .RI [ destination " ...]"
       
  1023 .PP
       
  1024 With this subcommand, catch\-all aliases defined for a domain can be
       
  1025 removed, either all of them, or those
       
  1026 .IR destination s
       
  1027 which were specified explicitly.
       
  1028 .PP
       
  1029 Example:
       
  1030 .PP
       
  1031 .nf
       
  1032 .B vmm catchalldelete example.com user@example.com
       
  1033 .fi
       
  1034 .\" -----------------------------------------------------------------------
       
  1035 .SH FILES
       
  1036 .TP
       
  1037 .I /root/vmm.cfg
       
  1038 will be used when found.
       
  1039 .TP
       
  1040 .I /usr/local/etc/vmm.cfg
       
  1041 will be used when the above file doesn't exist.
       
  1042 .TP
       
  1043 .I /etc/vmm.cfg
       
  1044 will be used when none of the both above mentioned files exists.
       
  1045 .\" -----------------------------------------------------------------------
       
  1046 .SH SEE ALSO
       
  1047 .BR dsync (1),
       
  1048 .BR transport (5),
       
  1049 .BR vmm.cfg (5)
       
  1050 .\" -----------------------------------------------------------------------
       
  1051 .SH INTERNET RESOURCES
       
  1052 .TP
       
  1053 Homepage
       
  1054 http://vmm.localdomain.org/
       
  1055 .TP
       
  1056 Project site
       
  1057 http://sf.net/projects/vmm/
       
  1058 .TP
       
  1059 Bug tracker
       
  1060 https://bitbucket.org/pvo/vmm/issues
       
  1061 .\" -----------------------------------------------------------------------
       
  1062 .SH COPYING
       
  1063 vmm and its manual pages were written by Pascal Volk <user+vmm AT
       
  1064 localhost.localdomain.org> and are licensed under the terms of the BSD
       
  1065 License.