Htpasswd
Resumo
- Adiciona e remove entradas de nome de usuário / senha em um arquivo de senha usando htpasswd.
- Isso é usado por servidores da web como Apache e Nginx para autenticação básica.
Parâmetros
Parâmetro | Tipo | Escolhas | Valor Padrão | Comentários |
|---|---|---|---|
attributes | str | Padrão : 10 | Os atributos de um arquivo ou diretório. Essa string deve conter os atributos na mesma ordem que aquela exibida por lsattr. O operador = é assumido como padrão, caso contrário, os operadores + ou - precisam ser incluídos na string. |
create | boolean | Padrão: "yes" | Usado com state = present. Se especificado, o arquivo será criado se ainda não existir. Se definido como "não", falhará se o arquivo não existir. |
crypt_scheme | str | Padrão: "apr_md5_crypt" | Esquema de criptografia a ser usado. Assim como as quatro opções listadas aqui, você também pode usar qualquer outro hash suportado por passlib, como md5_crypt e sha256_crypt, que são hashes linux passwd. Se você fizer isso, o arquivo de senha não será compatível com Apache ou Nginx. Algumas das opções disponíveis podem ser: apr_md5_crypt, des_crypt, ldap_sha1, plaintext. |
group | str | | Nome do grupo que deve possuir o arquivo / diretório, como seria alimentado para chown. |
mode | raw | | As permissões que o arquivo ou diretório resultante devem ter. Para aqueles acostumados com /usr/bin/chmod, lembre-se de que os modos são, na verdade, números octais. Você deve adicionar um zero à esquerda para que o analisador YAML do Atmosphere saiba que é um número octal (como 0644 ou 01777) ou citá-lo (como '644' ou '1777') para que o Atmosphere receba uma string e possa fazer sua própria conversão da string em número. Fornecer um número ao Atmosphere sem seguir uma dessas regras resultará em um número decimal que terá resultados inesperados. Se o modo não for especificado e o arquivo de destino não existir, o umask padrão no sistema será usado ao definir o modo para o arquivo recém-criado. Se o modo não for especificado e o arquivo de destino existir, o modo do arquivo existente será usado. Especificar o modo é a melhor maneira de garantir que os arquivos sejam criados com as permissões corretas. |
name | str | | Nome de usuário para adicionar ou remover. |
owner | str | | Nome do usuário que deve possuir o arquivo / diretório, como seria apontado para o chown. |
password | str | | Senha associada ao usuário. Deve ser especificado se o usuário ainda não existir. |
path | /path | | Caminho para o arquivo que contém os nomes de usuário e senha. |
selevel | str | | A parte do nível do contexto do arquivo SELinux. Este é o atributo MLS / MCS, também conhecido como intervalo. Quando definido como _default, ele usará a parte do nível da política, se disponível. |
serole | str | | A parte da função do contexto do arquivo SELinux. Quando definido como _default, ele usará a parte da função da política, se disponível. |
setype | | | A parte do tipo do contexto do arquivo SELinux. Quando definido como _default, ele usará a parte do tipo da política, se disponível. |
seuser | | | A parte do usuário do contexto do arquivo SELinux. Por padrão, ele usa a política do sistema, quando aplicável. Quando definido como _default, ele usará a parte do usuário da política, se disponível. |
state | present | | Se a entrada do usuário deve estar presente ou não. |
unsafe_writes | no | | Influencie quando usar a operação atômica para evitar corrupção de dados ou leituras inconsistentes do arquivo de destino. Por padrão, este módulo usa operações atômicas para evitar corrupção de dados ou leituras inconsistentes dos arquivos de destino, mas às vezes os sistemas são configurados ou apenas interrompidos de maneiras que evitam isso. Um exemplo são os arquivos montados no docker, que não podem ser atualizados atomicamente de dentro do contêiner e só podem ser gravados de maneira insegura. Esta opção permite que o Ansible recorra a métodos não seguros de atualização de arquivos quando as operações atômicas falham (no entanto, não força o Ansible a realizar gravações inseguras). IMPORTANTE! As gravações inseguras estão sujeitas a condições de corrida e podem levar à corrupção de dados. |
Notas
- Este módulo depende da biblioteca passlib Python, que precisa ser instalada em todos os sistemas de destino.
- No Debian, Ubuntu ou Fedora: instale python-passlib.
- No RHEL ou CentOS: Ative o EPEL e instale o python-passlib.
Exemplos
- name: Add a user to a password file and ensure permissions are set
community.general.htpasswd:
path: /etc/nginx/passwdfile
name: janedoe
password: '9s36?;fyNp'
owner: root
group: www-data
mode: 0640
- name: Remove a user from a password file
community.general.htpasswd:
path: /etc/apache2/passwdfile
name: foobar
state: absent
- name: Add a user to a password file suitable for use by libpam-pwdfile
community.general.htpasswd:
path: /etc/mail/passwords
name: alex
password: oedu2eGh
crypt_scheme: md5_crypt