summaryrefslogtreecommitdiff
path: root/ansible-practice/system/13_1-playbook-create-update-user-with-prompt.yml
diff options
context:
space:
mode:
authorboom2 <blizzack@blizzack.com>2023-12-21 15:49:16 -0500
committerboom2 <blizzack@blizzack.com>2023-12-21 15:49:16 -0500
commit200680e7c8cbd6b4426c3ce232568b1e06446bde (patch)
treeb122f103cc4dce8cea078c20dac107612399640e /ansible-practice/system/13_1-playbook-create-update-user-with-prompt.yml
parenta21b2f4bb64bd0f633d8a6a15f27a73103df70c0 (diff)
- renamed playbook to follow convention
-- add /etc/rc.d/rc.M in 'fetch file playbook' for future clamav playbook
Diffstat (limited to 'ansible-practice/system/13_1-playbook-create-update-user-with-prompt.yml')
-rw-r--r--ansible-practice/system/13_1-playbook-create-update-user-with-prompt.yml73
1 files changed, 73 insertions, 0 deletions
diff --git a/ansible-practice/system/13_1-playbook-create-update-user-with-prompt.yml b/ansible-practice/system/13_1-playbook-create-update-user-with-prompt.yml
new file mode 100644
index 0000000..5b16906
--- /dev/null
+++ b/ansible-practice/system/13_1-playbook-create-update-user-with-prompt.yml
@@ -0,0 +1,73 @@
+#
+# https://www.howtouselinux.com/post/create-user-with-ansible
+# https://docs.ansible.com/ansible/latest/collections/ansible/builtin/user_module.html
+# https://docs.ansible.com/ansible/latest/playbook_guide/playbooks_variables.html
+# https://docs.ansible.com/ansible/latest/collections/community/crypto/openssh_keypair_module.html
+# https://www.codesandnotes.be/2020/01/13/generate-ssh-keys-using-ansible/
+# https://docs.ansible.com/ansible/latest/collections/ansible/posix/authorized_key_module.html
+#
+# https://docs.ansible.com/ansible/latest/collections/ansible/builtin/file_module.html
+# https://docs.ansible.com/ansible/latest/collections/ansible/builtin/find_module.html
+#
+# https://stackoverflow.com/questions/4411457/how-do-i-verify-check-test-validate-my-ssh-passphrase
+#
+# - an issue i found while trying to update a user's ssh key
+# - although the docs state that this can be done...it did not work for me !
+# - the only thing that worked was to remove previous keys and then add new ones
+#
+#
+---
+- name: "13.1 -- custom ansible - create/update user with a prompt"
+ hosts: dev
+ become: yes # Run tasks with root/sudo privileges
+ vars:
+ username: testuser1
+
+ vars_prompt:
+ - name: "passphrase"
+ prompt: "enter the passphrase for the ssh key"
+
+ tasks:
+# - name: backup users ssh keys
+# ansible.builtin.shell: |
+# sudo mv /home/{{ username }}/.ssh/id_ed25519 /home/{{ username }}/.ssh/id_ed25519_BAK
+# mv /home/{{ username }}/.ssh/id_ed25519.pub /home/{{ username }}/.ssh/id_ed25519.pub_BAK
+# exit 0
+# tags: ['backup_ssh_files']
+
+ - name: find files to delete w/ wildcard
+ ansible.builtin.find:
+ path: /home/{{ username }}/.ssh
+ patterns: 'id_ed25519*'
+ register: ssh_keys
+
+ - name: remove users ssh keys
+ ansible.builtin.file:
+ path: "{{ item.path }}"
+ state: absent
+ with_items: "{{ ssh_keys.files }}"
+ tags: ['remove_ssh_files']
+
+ - name: update user
+ ansible.builtin.user:
+ name: "{{ username }}"
+ state: present # ensure the user is present
+ generate_ssh_key: true
+ force: true
+ ssh_key_type: ed25519
+ ssh_key_passphrase: "{{ passphrase }}"
+ ssh_key_file: .ssh/id_ed25519
+ tags: ['update_user']
+
+#
+# received the following when running this playbook:
+#
+# TASK [create user] *************************************************
+#
+# [DEPRECATION WARNING]: Encryption using the Python crypt module is
+# deprecated. The Python crypt module is deprecated and will be removed
+# from Python 3.13. Install the passlib library for continued encryption
+# functionality. This feature will be removed in version
+# 2.17. Deprecation warnings can be disabled by setting
+# deprecation_warnings=False in ansible.cfg.
+#