commit 6850abfe3099c9c5c22d8d4a7431ca675a5e89cb Author: Max Mehl Date: Fri Jul 14 17:45:57 2023 +0200 initial commit diff --git a/tasks/main.yml b/tasks/main.yml new file mode 100755 index 0000000..3fada08 --- /dev/null +++ b/tasks/main.yml @@ -0,0 +1,24 @@ +--- +- name: Prepare password for user {{ username }} + when: + - password is defined + - password != "" + - password != '*' + block: + - name: Create idempotent salt for password + set_fact: + salt: "{{ ((username + inventory_hostname) | hash('sha512'))[:16] }}" + + - name: Encrypt password for user {{ username }} + shell: python3 -c 'import crypt; print(crypt.crypt("{{ password }}", "$6${{ salt }}"))' + register: username_shadowpw + changed_when: false + +- name: "Ensure user is configured correctly: {{ username }}" + user: + name: "{{ username }}" + shell: /bin/bash + generate_ssh_key: true + password: "{{ username_shadowpw.stdout | default('*') }}" + groups: "{{ user_groups | default('') }}" + append: "{{ append | default('yes') }}"