ฉันต้องการมีล็อกไฟล์ที่มีรายการทุกครั้งที่ผู้ใช้รันโปรแกรม suid ใด ๆ ที่มีชื่อผู้ใช้โปรแกรมและอาร์กิวเมนต์บรรทัดคำสั่งใด ๆ ที่ส่งผ่านไป มีวิธีมาตรฐานในการทำสิ่งนี้บน Linux หรือไม่?
ฉันต้องการมีล็อกไฟล์ที่มีรายการทุกครั้งที่ผู้ใช้รันโปรแกรม suid ใด ๆ ที่มีชื่อผู้ใช้โปรแกรมและอาร์กิวเมนต์บรรทัดคำสั่งใด ๆ ที่ส่งผ่านไป มีวิธีมาตรฐานในการทำสิ่งนี้บน Linux หรือไม่?
คำตอบ:
คุณสามารถเข้าสู่ระบบสวดทั้งหมดของปฏิบัติการที่เฉพาะเจาะจง (setuid หรือไม่) ผ่านระบบย่อยการตรวจสอบ เอกสารค่อนข้างกระจัดกระจาย เริ่มต้นด้วยหน้าคน auditctlหรืออาจจะเป็นแบบฝึกหัดนี้ การแจกแจงครั้งล่าสุดจัดส่งauditdพัสดุภัณฑ์ ติดตั้งและตรวจสอบให้แน่ใจว่าauditddaemon กำลังทำงานอยู่จากนั้นทำ
auditctl -A exit,always -F path=/path/to/executable -S execve
และดูการโทรเข้าสู่ระบบ/var/log/audit/audit.log(หรือที่ใดก็ตามที่การกระจายของคุณตั้งค่านี้)
-F path=…ด้วย-F euid=0 -F 'uid!=0'หรืออะไรทำนองนั้น ฉันไม่สามารถเห็นเบ็ดในรหัส setxid เรียกโดยexecveมิได้เฉพาะ setxid ดูในระบบย่อยการตรวจสอบ หรือแน่นอนคุณสามารถเข้าสู่ระบบทุก ๆexecveหลังประมวลผล
auditdไม่ได้มีรายการสำหรับ