Lucrul cheie de reținut este că în țintă
comenzile sunt executate în a chroot
mediu inconjurator. Ele nu sunt executate într-un sistem complet pornit în care procesele de bază precum systemd rulează și sunt disponibile.
Testare
Am configurat un playbook bazat pe sarcinile STIG din captură de ecran și l-am rulat din preseed. Am vazut aceleasi rezultate ca si tine.
---
- gazde: localhost
gather_facts: nu
conexiune: locală
sarcini:
- nume: verificați dacă rsyslog.service este instalat
coajă:! systemctl list-unit-files | grep „^rsyslog.service[ \t]\+”
changed_when: Fals
check_mode: nu
înregistrare: rezultat
failed_when: rezultat.rc > 1
- nume: stigrule_219160_rsyslog_enable
serviciu:
nume: rsyslog.service
activat: "da"
d-i pkgsel/include string ansible
șir de comandă d-i preseed/late_command \
wget -P /target/ http://REDACTED/my_playbook.yml ; \
in-target ansible-playbook -i /dev/null -b -v /my_playbook.yml
Pachete bionice ansible 2.5.1
și acea versiune a modulului de serviciu pare să execute systemctl arată rsyslog.service
. Acest lucru nu funcționează într-un mediu chroot. Pentru a demonstra, dacă deschid un terminal în mediul de instalare și rulez in-target systemctl arată rsyslog.service
apoi fișierul jurnal va afișa rezultatul
in-target: rulează în chroot, ignorând cererea: show
Remediere potențială
Am găsit un patch în Ansible 2.3 care abordează problema că systemctl va ignora comenzile atunci când rulează într-un mediu chroot. Acest lucru a fost aplicat doar la systemd
modul totuși și nu serviciu
modul. Mi-am actualizat playbook-ul și acesta rulează cu succes.
---
- gazde: localhost
gather_facts: nu
conexiune: locală
sarcini:
- nume: verificați dacă rsyslog.service este instalat
coajă:! systemctl list-unit-files | grep „^rsyslog.service[ \t]\+”
changed_when: Fals
check_mode: nu
înregistrare: rezultat
failed_when: rezultat.rc > 1
- nume: stigrule_219160_rsyslog_enable fix
systemd:
nume: rsyslog.service
activat: "da"
Prin urmare, este posibil să puteți progresa mai mult modificând sarcinile STIG din utilizarea serviciu
modul pentru a utiliza systemd
modul.