On this page
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