|
5 | 5 | state: directory |
6 | 6 | mode: "0750" |
7 | 7 |
|
8 | | -- name: Create temporary directory for sudoers validation |
| 8 | +- name: Create temporary directory for sudoers validation. |
9 | 9 | ansible.builtin.tempfile: |
10 | 10 | state: directory |
11 | 11 | suffix: sudoers |
12 | 12 | register: temp_sudoers_dir |
13 | 13 | when: sudo_config | default([]) | length > 0 |
14 | 14 |
|
15 | | -- name: Create sudoers file for validation |
| 15 | +- name: Create sudoers file for validation. |
16 | 16 | ansible.builtin.template: |
17 | 17 | src: "sudoer.j2" |
18 | 18 | dest: "{{ temp_sudoers_dir.path }}/{{ item.filename }}" |
|
23 | 23 | with_items: "{{ sudo_config if sudo_config is iterable and sudo_config is not mapping else [sudo_config] }}" |
24 | 24 | register: sudo_templates |
25 | 25 |
|
26 | | -- name: Validate sudoers file on remote |
| 26 | +- name: Validate sudoers file on remote. |
27 | 27 | ansible.builtin.command: "visudo -cf {{ temp_sudoers_dir.path }}/{{ item.filename }}" |
28 | 28 | register: visudo_check |
29 | 29 | failed_when: visudo_check.rc != 0 |
|
34 | 34 | label: "{{ item.filename }}" |
35 | 35 | delegate_to: "{{ inventory_hostname }}" |
36 | 36 |
|
37 | | -- name: Install validated sudoers file |
| 37 | +- name: Install validated sudoers file. |
38 | 38 | ansible.builtin.copy: |
39 | 39 | src: "{{ temp_sudoers_dir.path }}/{{ item.filename }}" |
40 | 40 | dest: "/etc/sudoers.d/{{ item.filename }}" |
|
45 | 45 | when: item.entity_name | default('') | length > 0 |
46 | 46 | with_items: "{{ sudo_config if sudo_config is iterable and sudo_config is not mapping else [sudo_config] }}" |
47 | 47 |
|
48 | | -- name: Clean up temporary files |
| 48 | +- name: Clean up temporary files. |
49 | 49 | ansible.builtin.file: |
50 | 50 | path: "{{ temp_sudoers_dir.path }}" |
51 | 51 | state: absent |
|
0 commit comments