วิธีปิดใช้งานการป้องกันความสมบูรณ์ของระบบบน Mac (และทำไมคุณไม่ควร)
Mac OS X 10.11 El Capitan ปกป้องไฟล์ระบบและกระบวนการด้วยคุณสมบัติใหม่ที่ชื่อว่า System Integrity Protection SIP เป็นคุณลักษณะระดับเคอร์เนลที่ จำกัด สิ่งที่บัญชี "root" สามารถทำได้
นี่เป็นคุณลักษณะด้านความปลอดภัยที่ยอดเยี่ยมและเกือบทุกคนแม้แต่“ ผู้ใช้ระดับสูง” และนักพัฒนาก็ควรเปิดใช้งานไว้ แต่ถ้าคุณจำเป็นต้องแก้ไขไฟล์ระบบจริงๆคุณสามารถข้ามได้
การป้องกันความสมบูรณ์ของระบบคืออะไร?
ที่เกี่ยวข้อง: Unix คืออะไรและทำไมจึงมีความสำคัญ?
บน Mac OS X และระบบปฏิบัติการอื่น ๆ ที่คล้าย UNIX รวมถึง Linux มีบัญชี "รูท" ที่โดยปกติแล้วจะสามารถเข้าถึงระบบปฏิบัติการทั้งหมดได้อย่างสมบูรณ์ การเป็นผู้ใช้รูทหรือการได้รับสิทธิ์รูททำให้คุณสามารถเข้าถึงระบบปฏิบัติการทั้งหมดและสามารถแก้ไขและลบไฟล์ใด ๆ มัลแวร์ที่ได้รับสิทธิ์รูทสามารถใช้สิทธิ์เหล่านั้นเพื่อสร้างความเสียหายและติดไฟล์ระบบปฏิบัติการระดับต่ำ
พิมพ์รหัสผ่านของคุณในกล่องโต้ตอบความปลอดภัยและคุณได้ให้สิทธิ์รูทของแอปพลิเคชันแล้ว โดยปกติแล้วจะช่วยให้สามารถทำอะไรก็ได้กับระบบปฏิบัติการของคุณแม้ว่าผู้ใช้ Mac หลายคนอาจไม่ได้ตระหนักถึงสิ่งนี้ก็ตาม
System Integrity Protection หรือที่เรียกว่า“ rootless” - ทำหน้าที่โดยการ จำกัด บัญชีรูท เคอร์เนลของระบบปฏิบัติการจะทำการตรวจสอบการเข้าถึงของผู้ใช้รูทและไม่อนุญาตให้ทำบางอย่างเช่นแก้ไขตำแหน่งที่มีการป้องกันหรือแทรกโค้ดลงในกระบวนการของระบบที่มีการป้องกัน ต้องลงนามส่วนขยายเคอร์เนลทั้งหมดและคุณไม่สามารถปิดใช้งานการป้องกันความสมบูรณ์ของระบบจากภายใน Mac OS X เอง แอปพลิเคชั่นที่มีสิทธิ์ระดับรากสูงจะไม่สามารถแทรกแซงไฟล์ระบบได้อีกต่อไป
คุณมักจะสังเกตเห็นสิ่งนี้หากคุณพยายามเขียนลงในไดเรกทอรีใดไดเรกทอรีหนึ่งต่อไปนี้:
- /ระบบ
- / bin
- / usr
- / sbin
OS X ไม่อนุญาตและคุณจะเห็นข้อความ“ ไม่อนุญาตให้ใช้งาน” OS X ยังไม่อนุญาตให้คุณติดตั้งตำแหน่งอื่นบนหนึ่งในไดเรกทอรีที่ได้รับการป้องกันเหล่านี้ดังนั้นจึงไม่มีทางแก้ไขได้
รายการตำแหน่งที่มีการป้องกันทั้งหมดอยู่ที่ /System/Library/Sandbox/rootless.conf บน Mac ของคุณ รวมถึงไฟล์ต่างๆเช่นแอพ Mail.app และ Chess.app ที่มาพร้อมกับ Mac OS X ดังนั้นคุณจึงไม่สามารถลบไฟล์เหล่านี้ได้แม้จะออกจากบรรทัดคำสั่งในฐานะผู้ใช้รูทก็ตาม นอกจากนี้ยังหมายความว่ามัลแวร์ไม่สามารถแก้ไขและติดแอปพลิเคชันเหล่านั้นได้
ไม่ใช่เรื่องบังเอิญตัวเลือก "ซ่อมแซมการอนุญาตดิสก์" ในยูทิลิตี้ดิสก์ซึ่งใช้มานานสำหรับการแก้ไขปัญหาต่างๆของ Mac ได้ถูกลบออกไปแล้ว การป้องกันความสมบูรณ์ของระบบควรป้องกันการอนุญาตไฟล์ที่สำคัญจากการถูกดัดแปลง ยูทิลิตี้ดิสก์ได้รับการออกแบบใหม่และยังคงมีตัวเลือก "การปฐมพยาบาล" สำหรับการซ่อมแซมข้อผิดพลาด แต่ไม่รวมวิธีซ่อมแซมสิทธิ์
วิธีปิดการใช้งานการป้องกันความสมบูรณ์ของระบบ
คำเตือน : อย่าทำเช่นนี้เว้นแต่คุณจะมีเหตุผลที่ดีพอที่จะทำและรู้ว่าคุณกำลังทำอะไรอยู่! ผู้ใช้ส่วนใหญ่ไม่จำเป็นต้องปิดใช้งานการตั้งค่าความปลอดภัยนี้ ไม่ได้มีวัตถุประสงค์เพื่อป้องกันไม่ให้คุณยุ่งกับระบบ แต่มีจุดมุ่งหมายเพื่อป้องกันมัลแวร์และโปรแกรมที่มีพฤติกรรมไม่ดีอื่น ๆ ไม่ให้ยุ่งกับระบบ แต่โปรแกรมอรรถประโยชน์ระดับต่ำบางอย่างอาจทำงานได้ก็ต่อเมื่อมีการเข้าถึงที่ไม่ จำกัด เท่านั้น
ที่เกี่ยวข้อง: 8 คุณสมบัติของระบบ Mac ที่คุณสามารถเข้าถึงได้ในโหมดการกู้คืน
การตั้งค่าการป้องกันความสมบูรณ์ของระบบจะไม่ถูกจัดเก็บไว้ใน Mac OS X แต่จะเก็บไว้ใน NVRAM บน Mac แต่ละเครื่อง สามารถแก้ไขได้จากสภาพแวดล้อมการกู้คืนเท่านั้น
ในการบูตเข้าสู่โหมดการกู้คืนให้รีสตาร์ท Mac ของคุณและกด Command + R ค้างไว้ในขณะที่บู๊ต คุณจะเข้าสู่สภาพแวดล้อมการกู้คืน คลิกเมนู“ Utilities” และเลือก“ Terminal” เพื่อเปิดหน้าต่างเทอร์มินัล
พิมพ์คำสั่งต่อไปนี้ในเทอร์มินัลและกด Enter เพื่อตรวจสอบสถานะ:
สถานะ csrutil
คุณจะเห็นว่ามีการเปิดใช้งานการป้องกันความสมบูรณ์ของระบบหรือไม่
ในการปิดใช้งาน System Integrity Protection ให้รันคำสั่งต่อไปนี้:
csrutil ปิดการใช้งาน
หากคุณตัดสินใจว่าต้องการเปิดใช้งาน SIP ในภายหลังให้กลับไปที่สภาพแวดล้อมการกู้คืนและรันคำสั่งต่อไปนี้:
csrutil เปิดใช้งาน
รีสตาร์ท Mac ของคุณและการตั้งค่าการป้องกันความสมบูรณ์ของระบบใหม่จะมีผล ตอนนี้ผู้ใช้รูทจะสามารถเข้าถึงระบบปฏิบัติการทั้งหมดและทุกไฟล์ได้อย่างเต็มที่และไม่ จำกัด
หากคุณเคยเก็บไฟล์ไว้ในไดเรกทอรีที่มีการป้องกันเหล่านี้ก่อนที่คุณจะอัปเกรด Mac เป็น OS X 10.11 El Capitan ไฟล์เหล่านั้นจะไม่ถูกลบ คุณจะพบว่าย้ายไปที่ไดเร็กทอรี / Library / SystemMigration / History / Migration- (UUID) / QuarantineRoot / บน Mac ของคุณ
เครดิตรูปภาพ: Shinji บน Flickr