ansible-practice/setup_user.yml
2025-04-11 07:52:16 +00:00

59 lines
1.4 KiB
YAML

---
- name: Create user {{ user }}
hosts: labs
vars:
user: user-ansible
sshkey: /home/rocky/.ssh/id_rsa.pub
sshpriv: /home/rocky/.ssh/id_rsa
tasks:
- name: Create user {{ user }}
ansible.builtin.user:
name: "{{ user }}"
create_home: true
state: present
- name: Add user to sudoer {{ user }}
community.general.sudoers:
name: "{{ user }}"
user: "{{ user }}"
nopassword: true
commands: ALL
state: present
- name: Set authorized key taken from file
ansible.posix.authorized_key:
user: "{{ user }}"
key: "{{ lookup('file', '{{ sshkey }}') }}"
state: present
- name: Test ssh connexion
ansible.builtin.command: ssh -i {{ sshpriv }} {{ user }}@{{ item }} sudo -l
delegate_to: localhost
become: false
register: ssh_out
changed_when: false
ignore_errors: true
with_items:
- "{{ groups['labs'] }}"
- name: Log SSH command result
ansible.builtin.debug:
var: item
when: item.rc == 0
with_items:
- "{{ ssh_out['results'] }}"
- name: Check if user can execute sudo
ansible.builtin.command: sudo -l
become: true
become_user: "{{ user }}"
register: sudo_out
changed_when: false
ignore_errors: true
- name: Log sudo -l command
ansible.builtin.debug:
var: sudo_out
when: sudo_out.rc == 0