|
5 | 5 | # disruption = low |
6 | 6 |
|
7 | 7 | {{% if 'rhel' not in product and product != 'fedora' %}} |
8 | | -- name: Require single user mode password |
| 8 | +- name: "{{{ rule_title }}} - Require single user mode password" |
9 | 9 | lineinfile: |
10 | 10 | create: yes |
11 | 11 | dest: /usr/lib/systemd/system/rescue.service |
|
16 | 16 | line: 'ExecStart=-/bin/sh -c "/sbin/sulogin; /usr/bin/systemctl --fail --no-block default"' |
17 | 17 | {{%- endif %}} |
18 | 18 | {{% else %}} |
| 19 | +- name: "{{{ rule_title }}} - find files which already override Execstart of rescue.service" |
| 20 | + ansible.builtin.find: |
| 21 | + paths: "/etc/systemd/system/rescue.service.d" |
| 22 | + patterns: "*.conf" |
| 23 | + contains: '^\s*ExecStart=.*$' |
| 24 | + register: rescue_service_overrides_found |
| 25 | + |
| 26 | +- name: "{{{ rule_title }}} - set files containing ExecStart overrides as target" |
| 27 | + ansible.builtin.set_fact: |
| 28 | + rescue_service_remediation_target_file: "{{ rescue_service_overrides_found.files | map(attribute='path') | list }}" |
| 29 | + when: rescue_service_overrides_found.matched is defined and rescue_service_overrides_found.matched > 0 |
| 30 | + |
| 31 | +- name: "{{{ rule_title }}} - set default target for rescue.service override" |
| 32 | + ansible.builtin.set_fact: |
| 33 | + rescue_service_remediation_target_file: |
| 34 | + - "/etc/systemd/system/rescue.service.d/10-oscap.conf" |
| 35 | + when: rescue_service_overrides_found.matched is defined and rescue_service_overrides_found.matched == 0 |
| 36 | + |
19 | 37 | - name: "{{{ rule_title }}} - Require emergency user mode password" |
20 | 38 | community.general.ini_file: |
21 | | - path: "/etc/systemd/system/rescue.service.d/10-oscap.conf" |
| 39 | + path: "{{ item }}" |
22 | 40 | section: "Service" |
23 | 41 | option: "ExecStart" |
24 | | - value: "-/usr/lib/systemd/systemd-sulogin-shell rescue" |
| 42 | + values: |
| 43 | + - "" |
| 44 | + - "-/usr/lib/systemd/systemd-sulogin-shell rescue" |
| 45 | + loop: "{{ rescue_service_remediation_target_file }}" |
| 46 | + |
25 | 47 | {{% endif %}} |
0 commit comments