%PDF- %PDF-
Direktori : /lib/python2.7/site-packages/salt/modules/ |
Current File : //lib/python2.7/site-packages/salt/modules/win_shadow.py |
# -*- coding: utf-8 -*- ''' Manage the shadow file .. important:: If you feel that Salt should be using this module to manage passwords on a minion, and it is using a different module (or gives an error similar to *'shadow.info' is not available*), see :ref:`here <module-provider-override>`. ''' # Import Python libs from __future__ import absolute_import, unicode_literals, print_function # Import Salt libs import salt.utils.platform # Define the module's virtual name __virtualname__ = 'shadow' def __virtual__(): ''' Only works on Windows systems ''' if salt.utils.platform.is_windows(): return __virtualname__ return (False, 'Module win_shadow: module only works on Windows systems.') def info(name): ''' Return information for the specified user This is just returns dummy data so that salt states can work. :param str name: The name of the user account to show. CLI Example: .. code-block:: bash salt '*' shadow.info root ''' info = __salt__['user.info'](name=name) ret = {'name': name, 'passwd': '', 'lstchg': '', 'min': '', 'max': '', 'warn': '', 'inact': '', 'expire': ''} if info: ret = {'name': info['name'], 'passwd': 'Unavailable', 'lstchg': info['password_changed'], 'min': '', 'max': '', 'warn': '', 'inact': '', 'expire': info['expiration_date']} return ret def set_expire(name, expire): ''' Set the expiration date for a user account. :param name: The name of the user account to edit. :param expire: The date the account will expire. :return: True if successful. False if unsuccessful. :rtype: bool CLI Example: .. code-block:: bash salt '*' shadow.set_expire <username> 2016/7/1 ''' return __salt__['user.update'](name, expiration_date=expire) def require_password_change(name): ''' Require the user to change their password the next time they log in. :param name: The name of the user account to require a password change. :return: True if successful. False if unsuccessful. :rtype: bool CLI Example: .. code-block:: bash salt '*' shadow.require_password_change <username> ''' return __salt__['user.update'](name, expired=True) def unlock_account(name): ''' Unlocks a user account. :param name: The name of the user account to unlock. :return: True if successful. False if unsuccessful. :rtype: bool CLI Example: .. code-block:: bash salt '*' shadow.unlock_account <username> ''' return __salt__['user.update'](name, unlock_account=True) def set_password(name, password): ''' Set the password for a named user. :param str name: The name of the user account :param str password: The new password :return: True if successful. False if unsuccessful. :rtype: bool CLI Example: .. code-block:: bash salt '*' shadow.set_password root mysecretpassword ''' return __salt__['user.update'](name=name, password=password)