W3cubDocs

/Ansible

htpasswd - manage user files for basic authentication

New in version 1.3.

Synopsis

Add and remove username/password entries in a password file using htpasswd. This is used by web servers such as Apache and Nginx for basic authentication.

Options

parameter required default choices comments
create
no yes
  • yes
  • no
Used with state=present. If specified, the file will be created if it does not already exist. If set to "no", will fail if the file does not exist
crypt_scheme
no apr_md5_crypt
  • apr_md5_crypt
  • des_crypt
  • ldap_sha1
  • plaintext
Encryption scheme to be used. As well as the four choices listed here, you can also use any other hash supported by passlib, such as md5_crypt and sha256_crypt, which are linux passwd hashes. If you do so the password file will not be compatible with Apache or Nginx
name
yes
User name to add or remove
aliases: username
password
no
Password associated with user.
Must be specified if user does not exist yet.
path
yes
Path to the file that contains the usernames and passwords
aliases: dest, destfile
state
no present
  • present
  • absent
Whether the user entry should be present or not

Examples

# Add a user to a password file and ensure permissions are set
- htpasswd: path=/etc/nginx/passwdfile name=janedoe password=9s36?;fyNp owner=root group=www-data mode=0640
# Remove a user from a password file
- htpasswd: path=/etc/apache2/passwdfile name=foobar state=absent
# Add a user to a password file suitable for use by libpam-pwdfile
- htpasswd: path=/etc/mail/passwords name=alex password=oedu2eGh crypt_scheme=md5_crypt

Notes

Note

This module depends on the passlib Python library, which needs to be installed on all target systems.

Note

On Debian, Ubuntu, or Fedora: install python-passlib.

Note

On RHEL or CentOS: Enable EPEL, then install python-passlib.

This is a Core Module

For more information on what this means please read Core Modules

For help in developing on modules, should you be so inclined, please read Community Information & Contributing, developing_test_pr and Developing Modules.

© 2012–2016 Michael DeHaan
© 2016 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/htpasswd_module.html