สิ่งสำคัญที่ต้องจำไว้ก็คือ เข้าเป้า
คำสั่งถูกดำเนินการในไฟล์ โครต
สิ่งแวดล้อม. พวกมันไม่ได้ถูกเรียกใช้งานในระบบที่บู๊ตอย่างสมบูรณ์ซึ่งกระบวนการหลักเช่น systemd กำลังทำงานอยู่และพร้อมใช้งาน
การทดสอบ
ฉันตั้งค่า playbook ตามงาน STIG ในภาพหน้าจอและรันจาก preseed ฉันเห็นผลลัพธ์เช่นเดียวกับคุณ
---
- โฮสต์: localhost
Gather_facts: ไม่
การเชื่อมต่อ: ท้องถิ่น
งาน:
- ชื่อ: ตรวจสอบว่ามีการติดตั้ง rsyslog.service หรือไม่
เปลือก: ! systemctl รายการหน่วยไฟล์ | grep "^rsyslog.service[ \t]\+"
change_when: เท็จ
check_mode: ไม่
ลงทะเบียน: ผลลัพธ์
ล้มเหลวเมื่อ: result.rc > 1
- ชื่อ: stigrule_219160_rsyslog_enable
บริการ:
ชื่อ: rsyslog.service
เปิดใช้งาน: "ใช่"
d-i pkgsel/include สตริง ansible
d-i preseed/late_command สตริง \
wget -P /target/ http://REDACTED/my_playbook.yml ; \
ansible-playbook ในเป้าหมาย -i /dev/null -b -v /my_playbook.yml
แพ็คเกจไบโอนิคใช้งานได้ 2.5.1
และ โมดูลบริการเวอร์ชันนั้น ดูเหมือนจะดำเนินการ systemctl แสดง rsyslog.service
. สิ่งนี้ใช้ไม่ได้ในสภาพแวดล้อม chroot เพื่อสาธิต ถ้าฉันเปิดเทอร์มินัลในสภาพแวดล้อมของตัวติดตั้งและเรียกใช้ systemctl ในเป้าหมายแสดง rsyslog.service
จากนั้นไฟล์บันทึกจะแสดงผลลัพธ์
ในเป้าหมาย: ทำงานใน chroot ละเว้นคำขอ: แสดง
การแก้ไขที่อาจเกิดขึ้น
ฉันพบแพตช์ใน Ansible 2.3 ที่ แก้ไขปัญหา systemctl นั้นจะละเว้นคำสั่งเมื่อทำงานในสภาพแวดล้อม chroot สิ่งนี้ถูกนำมาใช้เฉพาะกับ ระบบ
โมดูลแม้ว่าจะไม่ใช่ บริการ
โมดูล. ฉันอัปเดต Playbook ของฉันแล้ว และสิ่งนี้ก็ทำงานได้สำเร็จ
---
- โฮสต์: localhost
Gather_facts: ไม่
การเชื่อมต่อ: ท้องถิ่น
งาน:
- ชื่อ: ตรวจสอบว่ามีการติดตั้ง rsyslog.service หรือไม่
เปลือก: ! systemctl รายการหน่วยไฟล์ | grep "^rsyslog.service[ \t]\+"
change_when: เท็จ
check_mode: ไม่
ลงทะเบียน: ผลลัพธ์
ล้มเหลวเมื่อ: result.rc > 1
- ชื่อ: stigrule_219160_rsyslog_enable แก้ไขแล้ว
ระบบ:
ชื่อ: rsyslog.service
เปิดใช้งาน: "ใช่"
ดังนั้น คุณอาจก้าวหน้าต่อไปได้โดยแก้ไขงาน STIG จากการใช้ บริการ
โมดูลการใช้ ระบบ
โมดูล.