ทำให้บริบททั้งหมดของ SELinux เป็นแบบถาวร


9

ฉันทำสิ่งต่าง ๆ มากมายchconเมื่อเร็ว ๆ นี้ แต่ถ้าฉันเข้าใจถูกต้องสิ่งเหล่านี้จะถูกลบใน relabel ถัดไป มีวิธีใดที่จะทำให้บริบทปัจจุบัน (โดยเฉพาะอย่างยิ่งภายใต้ไดเรกทอรีที่แน่นอน) ถาวรหรือไม่ ฉันเข้าใจว่ามีวิธีใช้semanageงานอยู่ แต่นั่นหมายถึงการย้อนกลับไปและตรวจสอบบริบทของทุกไฟล์และเรียกใช้semanageเพื่อตั้งกฎ ดังนั้นมีวิธีอัตโนมัติทำหรือไม่

คำตอบ:


5

ก่อนอื่นคุณแก้ไขให้ถูกต้องซึ่งsemanage fcontext -a -t <type> <filepattern>จะทำให้การเปลี่ยนแปลงไฟล์เป็นแบบถาวรโดยการเพิ่มลงในนโยบาย - คุณจะต้องเชื่อมต่อใหม่หรือrestorecon -R -v <filepattern>ใช้การเปลี่ยนแปลงเหล่านั้น chconไม่เปลี่ยนแปลงนโยบายเพียงบริบทบนดิสก์

คุณสามารถสร้างรายการความแตกต่างของนโยบายที่ติดป้ายกำกับของคุณโดยmatchpathconเฉพาะ:

matchpathcon -V /path/to/file

น่าเสียดายที่ไม่มีตัวเลือกแบบเรียกซ้ำอาจเป็นเพราะการเดินบนต้นไม้จะมีราคาแพง แต่คุณสามารถขับด้วย:

find / -exec matchpathcon -V {} \;

อย่างไรก็ตามควรระวัง ฉันเชื่อว่า find จะข้ามการเมานต์ระบบไฟล์ทั้งหมดรวมถึงระบบไฟล์ที่ไม่มีคุณลักษณะเพิ่มเติม (xattrs) ซึ่งอาจทำให้เกิดปัญหา แน่นอนถ้าทุกระบบไฟล์ของคุณมีคุณสมบัติการขยายไม่มีปัญหา

เมื่อคุณมีรายการนี้คุณสามารถเขียนสคริปต์เพื่อเลือกสิ่งที่คุณsemanageต้องการ อย่างไรก็ตามฉันไม่ทราบวิธีการอัตโนมัติในการกดครั้งเดียว


3

ใช้matchpathconกับfindช้ามาก ทำไมไม่ใช้restorecon?

restorecon -rnv /path/to/dir

ธงจะวนซ้ำไม่มีการเปลี่ยนแปลงและ verbose

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