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.
Requirements (on host that executes module)
- passlib>=1.6
Options
parameter | required | default | choices | comments |
---|---|---|---|---|
create | no | yes |
| 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 |
| 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 |
| 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.
- On Debian, Ubuntu, or Fedora: install python-passlib.
- On RHEL or CentOS: Enable EPEL, then install python-passlib.
Status
This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.
For help in developing on modules, should you be so inclined, please read Community Information & Contributing, Testing Ansible and Developing Modules.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.4/htpasswd_module.html