วิธีที่เหมาะสมในการตั้งค่าบริบท SELinux ใน RPM เป็นอย่างไร


14

ฉันกำลังพยายามสร้าง RPM ที่มีเป้าหมาย RHEL4 และ 5 ตอนนี้ฉันโทรchconจาก%postแต่หลาย ๆ รายการของ Google บอกว่า "นั่นไม่ใช่วิธีที่คุณควรจะทำ" ด้วยความช่วยเหลือที่ จำกัด อย่างถูกวิธี ฉันยังสังเกตเห็นfixfiles -R mypackage checkว่าไฟล์ผิดเมื่อมันถูกต้อง (อย่างที่คาดไว้; RPM DB ไม่รู้ว่าฉันต้องการอะไร) ..

  • ฉันเฉพาะพูด RHEL4 เพราะมันไม่ได้มีsemanageซึ่งดูเหมือนว่าจะเป็นหนึ่งในวิธีการที่เหมาะสมที่จะทำมัน (เพิ่มนโยบายใหม่แล้วเรียกใช้restoreconในไดเรกทอรีของคุณ%post)

    • ฉันไม่ต้องการบริบทของตัวเองเพียงแค่httpd_cache_tในไดเรกทอรีที่ไม่ได้มาตรฐาน
  • ฉันได้เห็นด้วย "ให้cpioดูแลมันด้วย" - แต่แล้วฉันก็มีปัญหาใหม่ที่ผู้ใช้งานสร้างที่ไม่ใช่รูท RPM ไม่สามารถทำงานchconในไดเรกทอรีสร้างได้ ฉันโกงและมีsudoในไฟล์ข้อมูลจำเพาะ แต่ดูเหมือนจะไม่สำคัญ

คำตอบ:


9

แนวทาง Fedora บรรจุภัณฑ์มีร่างเอกสารอธิบายวิธีการจัดการ SELinux semanageในแพคเกจและพวกเขาใช้ โดยไม่ต้องsemanageดูเหมือนสนับสนุน RHEL 4 เป็นไปได้สับและไม่มีทางที่รอบ ๆ

ตามบันทึกประจำรุ่น rpm 4.9.0ได้รับการสนับสนุนโดยตรงในรอบต่อนาทีสำหรับการจัดการนโยบาย SELinux แต่มีประวัติเสีย:

  • RPM เวอร์ชันเก่าสนับสนุนคำสั่ง% ของนโยบายในการเชื่อมต่อนโยบาย SELinux เข้ากับส่วนหัวของแพ็คเกจ แต่สิ่งนี้ไม่สามารถใช้งานได้จริง การใช้คำสั่งนโยบาย% ในรายละเอียดใด ๆ ควรถูกลบออกเนื่องจากคำสั่งที่ไม่ได้ใช้นี้ป้องกันการสร้างด้วย RPM 4.9.0 และใหม่กว่าในขณะที่ไม่ได้ทำสิ่งใด ๆ สำหรับรุ่นที่เก่ากว่า
  • เริ่มต้นด้วย RPM 4.9.0 บรรจุภัณฑ์นโยบายของ SELinux ได้รับการสนับสนุนผ่านส่วน% sepolicy ใหม่ในข้อมูลจำเพาะ แพ็คเกจดังกล่าวไม่สามารถสร้างได้ แต่สามารถติดตั้งได้กับ RPM เวอร์ชันเก่าเกินไป (แต่นโยบายที่รวมจะไม่ถูกใช้ในทางใดทางหนึ่ง)

ฉันไม่เห็นการกล่าวถึงบริบทไฟล์ที่นั่นและฉันไม่สามารถค้นหาการกล่าวถึงการสนับสนุนบริบทไฟล์โดยตรง (เช่น%attrใน%filesส่วน) ไม่ว่าในกรณีใดดูเหมือนว่า RHEL 6 จะอยู่ที่ rpm 4.8.0 เท่านั้นดังนั้น (เว้นแต่ฉันจะพลาดบางอย่าง) semanageเส้นทางนั้นดีพอ ๆ กับที่เราจะสามารถทำอย่างน้อยจนถึง RHEL 7

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.