# Managing accounts

## useradd

Syntax:
  vmm useradd address [-n note] [-p password]
  vmm ua address [-n note] [-p password]

-n note

  the note that should be set

-p password

  the new user’s password

Use this subcommand to create a new e-mail account for the given address.

If the password is not provided, vmm will prompt for it interactively. When no password is provided and account.random_password is set to true, vmm will generate a random password and print it to stdout after the account has been created.

Example:

    root@host:~# vmm ua d.user@example.com -p "A 5ecR3t P4s5\/\/0rd"
    root@host:~# vmm useradd e.user@example.com
    Enter new password:
    Retype new password:

## userdelete

Syntax:
  vmm userdelete address [‒‒delete-directory] [‒‒force]
  vmm ud address [‒‒delete-directory] [‒‒force]

--delete-directory

  When this option is present, vmm will also delete the account’s home directory. This overrides the account.delete_directory setting of `vmm.cfg`.

--force

  When this option is given, vmm will delete the account, even if there are aliases with the account’s address as their destination. Those aliases will be deleted too.

Use this subcommand to delete the account with the given address.

If there are one or more aliases with an identical destination address, vmm will abort the requested operation and show an error message. To prevent this, give the optional argument `--force`.

## userinfo

Syntax:
  vmm userinfo address [-d details]
  vmm ui address [-d details]

This subcommand displays some information about the account specified by address.

If the optional argument details is given some more information will be displayed. Possible values for details are:

value | description
--- | ---
aliases | to list all alias addresses with the destination address
du | to display the disk usage of the user’s mail directory. In order to summarize the disk usage each time this subcommand is executed automatically, set account.disk_usage in your `vmm.cfg` to true.
full | to list all information mentioned above

Example:

    root@host:~# vmm ui d.user@example.com
    Account information
    -------------------
            Address..........: d.user@example.com
            Name.............: None
            UID..............: 79881
            GID..............: 70704
            Home.............: /srv/mail/2/70704/79881
            Mail_Location....: mdbox:~/mdbox
            Quota Storage....: [  0.00%] 0/500.00 MiB [domain default]
            Quota Messages...: [  0.00%] 0/10,000 [domain default]
            Transport........: lmtp:unix:private/dovecot-lmtp [domain default]
            SMTP.............: disabled [domain default]
            POP3.............: disabled [domain default]
            IMAP.............: enabled [domain default]
            SIEVE............: enabled [domain default]

## username

Syntax:
  vmm username address -d | -n name
  vmm un address -d | -n name

-d

  delete the user’s name

-n name

  a user’s real name

The user’s real name can be set/updated with this subcommand.

In order to delete the value stored for the account, pass the `-d` option.

Example:

    root@host:~# vmm un d.user@example.com -n "John Doe"

## usernote

Syntax:
  vmm usernote address -d | -n note
  vmm uo address -d | -n note

-d

  delete the user’s note

-n note

  the note that should be set

With this subcommand, it is possible to attach a note to the specified account. In order to delete an existing note, pass the `-d` option.

Example:

    root@host:~# vmm uo d.user@example.com -n 'Only needed until end of May 2013'

Added in version 0.6.0.

## userpassword

Syntax:
  vmm userpassword address ([-p password] [-s scheme] | [‒‒hash pwhash])
  vmm up address ([-p password] [-s scheme] | [‒‒hash pwhash])

-p password

  The user’s new password.

-s scheme

  When a scheme was specified, it overrides the misc.password_scheme setting, configured in the `vmm.cfg` file.

--hash pwhash

  A hashed password, prefixed with {SCHEME}; as generated by doveadm pw. You should enclose the hashed password in single quotes, if it contains one ore more dollar signs ($).

The password of an account can be updated with this subcommand.

If no password or pwhash was provided, vmm will prompt for a password interactively.

Note

When passing a hashed password, vmm checks only if the included SCHEME is supported by your Dovecot installation. No further checks are done.

Example:

    root@host:~# vmm up d.user@example.com -p "A |\/|0r3 5ecur3 P4s5\/\/0rd?"

## userquota

Syntax:
  vmm userquota address storage [-m messages]
  vmm uq address storage [-m messages]

This subcommand is used to set a new quota limit for the given account.

When the argument messages was omitted the default number of messages 0 (zero) will be applied.

Instead of a storage limit pass the keyword domain to remove the account-specific override, causing the domain’s value to be in effect.

Example:

    root@host:~# userquota d.user@example.com 750m

Added in version 0.6.0.

## userservices

Syntax:
  vmm userservices address ( -e service … | -d service … | -r )
  vmm us address ( -e service … | -d service … | -r )

To grant a user access to the specified services, use this command.

If you pass services after -e, each service will be enabled/usable. If you pass services after -d, each service will be disabled/unsable. If you want to restore the user’s services to the domain defaults, pass -r without any more arguments.

Example:

    root@host:~# userservices d.user@example.com -d smtp imap

## usertransport

Syntax:
  vmm usertransport address transport
  vmm ut address transport

A different transport for an account can be specified with this subcommand.

Instead of transport pass domain to remove the account-specific override, causing the domain’s value to be in effect.

Example:

    root@host:~# ut c.user@example.com smtp:[pc105.it.example.com]