# salt.modules.mac_user

Manage users on Mac OS 10.7+

Important

If you feel that Salt should be using this module to manage users on a minion, and it is using a different module (or gives an error similar to 'user.info' is not available), see here.

salt.modules.mac_user.add(name, uid=None, gid=None, groups=None, home=None, shell=None, fullname=None, createhome=True, **kwargs)

  Add a user to the minion

  CLI Example:

      salt '*' user.add name <uid> <gid> <groups> <home> <shell>

salt.modules.mac_user.chfullname(name, fullname)

  Change the user's Full Name

  CLI Example:

      salt '*' user.chfullname foo 'Foo Bar'

salt.modules.mac_user.chgid(name, gid)

  Change the default group of the user

  CLI Example:

      salt '*' user.chgid foo 4376

salt.modules.mac_user.chgroups(name, groups, append=False)

  Change the groups to which the user belongs. Note that the user's primary group does not have to be one of the groups passed, membership in the user's primary group is automatically assumed.

  groups

    Groups to which the user should belong, can be passed either as a python list or a comma-separated string

  append

    Instead of removing user from groups not included in the `groups` parameter, just add user to any groups for which they are not members

  CLI Example:

      salt '*' user.chgroups foo wheel,root

salt.modules.mac_user.chhome(name, home, **kwargs)

  Change the home directory of the user

  CLI Example:

      salt '*' user.chhome foo /Users/foo

salt.modules.mac_user.chshell(name, shell)

  Change the default shell of the user

  CLI Example:

      salt '*' user.chshell foo /bin/zsh

salt.modules.mac_user.chuid(name, uid)

  Change the uid for a named user

  CLI Example:

      salt '*' user.chuid foo 4376

salt.modules.mac_user.delete(name, remove=False, force=False)

  Remove a user from the minion

  CLI Example:

      salt '*' user.delete name remove=True force=True

salt.modules.mac_user.disable_auto_login()

  Added in version 2016.3.0.

  Disables auto login on the machine

  Returns:

    `True` if successful, otherwise `False`

  Return type:

    bool

  CLI Example:

      salt '*' user.disable_auto_login

salt.modules.mac_user.enable_auto_login(name, password)

  Added in version 2016.3.0.

  Configures the machine to auto login with the specified user

  Parameters:

    - name (str) -- The user account use for auto login

    - password (str) --

      The password to user for auto login

      Added in version 2017.7.3.

  Returns:

    `True` if successful, otherwise `False`

  Return type:

    bool

  CLI Example:

      salt '*' user.enable_auto_login stevej

salt.modules.mac_user.get_auto_login()

  Added in version 2016.3.0.

  Gets the current setting for Auto Login

  Returns:

    If enabled, returns the user name, otherwise returns False

  Return type:

    str, bool

  CLI Example:

      salt '*' user.get_auto_login

salt.modules.mac_user.getent(refresh=False)

  Return the list of all info for all users

  CLI Example:

      salt '*' user.getent

salt.modules.mac_user.info(name)

  Return user information

  CLI Example:

      salt '*' user.info root

salt.modules.mac_user.list_groups(name)

  Return a list of groups the named user belongs to.

  name

  > The name of the user for which to list groups. Starting in Salt 2016.11.0, all groups for the user, including groups beginning with an underscore will be listed.

  > Changed in version 2016.11.0.

  CLI Example:

      salt '*' user.list_groups foo

salt.modules.mac_user.list_users()

  Return a list of all users

  CLI Example:

      salt '*' user.list_users

salt.modules.mac_user.primary_group(name)

  Return the primary group of the named user

  Added in version 2016.3.0.

  CLI Example:

      salt '*' user.primary_group saltadmin

salt.modules.mac_user.rename(name, new_name)

  Change the username for a named user

  CLI Example:

      salt '*' user.rename name new_name