# salt.states.user

## Management of user accounts.

The user module is used to create and manage user settings, users can be set as either absent or present

    fred:
      user.present:
        - fullname: Fred Jones
        - shell: /bin/zsh
        - home: /home/fred
        - uid: 4000
        - gid: 4000
        - groups:
          - wheel
          - storage
          - games

    testuser:
      user.absent

`salt.states.user.` `absent`(name, purge=False, force=False)

  Ensure that the named user is absent

  name
    The name of the user to remove
  purge
    Set purge to delete all of the user's files as well as the user
  force
    If the user is logged in the absent state will fail, set the force option to True to remove the user even if they are logged in. Not supported in FreeBSD and Solaris.

`salt.states.user.` `present`(name, uid=None, gid=None, gid_from_name=False, groups=None, optional_groups=None, remove_groups=True, home=None, createhome=True, password=None, enforce_password=True, shell=None, unique=True, system=False, fullname=None, roomnumber=None, workphone=None, homephone=None)

  Ensure that the named user is present with the specified properties

  name
    The name of the user to manage
  uid
    The user id to assign, if left empty then the next available user id will be assigned
  gid
    The default group id
  gid_from_name
    If True, the default group id will be set to the id of the group with the same name as the user.
  groups
    A list of groups to assign the user to, pass a list object. If a group specified here does not exist on the minion, the state will fail. If set to the empty list, the user will be removed from all groups except the default group.
  optional_groups
    A list of groups to assign the user to, pass a list object. If a group specified here does not exist on the minion, the state will silently ignore it.

  NOTE: If the same group is specified in both "groups" and "optional_groups", then it will be assumed to be required and not optional.

  remove_groups
    Remove groups that the user is a member of that weren't specified in the state, True by default
  home
    The location of the home directory to manage
  createhome
    If True, the home directory will be created if it doesn't exist. Please note that directories leading up to the home directory will NOT be created.
  password
    A password hash to set for the user. This field is only supported on Linux, FreeBSD, NetBSD, OpenBSD, and Solaris.

  Changed in version 0.16.0: BSD support added.

  enforce_password
    Set to False to keep the password from being changed if it has already been set and the password hash differs from what is specified in the "password" field. This option will be ignored if "password" is not specified.
  shell
    The login shell, defaults to the system default shell
  unique
    Require a unique UID, True by default
  system
    Choose UID in the range of FIRST_SYSTEM_UID and LAST_SYSTEM_UID.

  User comment field (GECOS) support (currently Linux, FreeBSD, and MacOS only):

  The below values should be specified as strings to avoid ambiguities when the values are loaded. (Especially the phone and room number fields which are likely to contain numeric data)

  fullname
    The user's full name
  roomnumber
    The user's room number (not supported in MacOS)
  workphone
    The user's work phone number (not supported in MacOS)
  homephone
    The user's home phone number (not supported in MacOS)

Current Salt release: 0.17.1

### Table Of Contents

- salt.states.user
  - Management of user accounts.

#### Previous topic

salt.states.tomcat

#### Next topic

salt.states.virtualenv

### Quick search

Enter search terms or a module, class or function name.

### Upcoming SaltStack Events

My conferences on Lanyrd