วิธีปิดการป้องกันความสมบูรณ์ของระบบ (rootless) ใน Mac OS X

แอ็ปเปิ้ลได้เปิดใช้ระบบรักษาความปลอดภัยดีฟอลต์ใหม่ที่เรียกว่า System Integrity Protection ซึ่งมักเรียกว่า rootless ใน Mac OS จากเวอร์ชัน 10.11 เป็นต้นไป คุณลักษณะที่ไม่มีรากจะมุ่งเป้าไปที่การป้องกันไม่ให้ Mac OS X ประนีประนอมโดยรหัสที่เป็นอันตรายโดยตั้งใจหรือโดยไม่ตั้งใจและเป็นหลักสิ่งที่ SIP ทำคือการล็อคตำแหน่งระดับระบบเฉพาะในระบบไฟล์ในขณะเดียวกันก็ป้องกันไม่ให้กระบวนการบางอย่างติดอยู่กับกระบวนการระดับระบบ

แม้ว่าคุณลักษณะการรักษาความปลอดภัยของระบบความปลอดภัยของระบบจะมีประสิทธิภาพและผู้ใช้ Mac ส่วนใหญ่ควรเลิกใช้งาน rootless แต่ผู้ใช้ Mac ขั้นสูงบางรายอาจพบว่าไม่มีเหตุผลที่จะได้รับการป้องกันอย่างสุดขั้ว ดังนั้นหากคุณอยู่ในกลุ่มผู้ใช้ Mac ขั้นสูงที่ไม่ต้องการให้ SIP ไม่มีการใช้งาน rootless ในการติดตั้ง OS X เราจะแสดงวิธีปิดคุณลักษณะการรักษาความปลอดภัยนี้


สำหรับผู้ที่สงสัยระบบป้องกันความสมบูรณ์จะล็อกไดเร็กทอรีระดับระบบต่อไปนี้ใน Mac OS X:

/System
/sbin
/usr (with the exception of /usr/local subdirectory)

ดังนั้น rootless อาจทำให้แอพพลิเคชันสาธารณูปโภคและสคริปต์บางอย่างไม่ทำงานเลยแม้แต่กับ privileged sudo, root user enabled หรือ admin access

การปิดการป้องกันความสมบูรณ์ของระบบไร้ Rootless ใน Mac OS X

อีกครั้งผู้ใช้ Mac ส่วนใหญ่ไม่ควรปิดใช้งาน rootless การปิดใช้งาน rootless มีเป้าหมายเฉพาะสำหรับผู้ใช้ Mac ขั้นสูง ทำเช่นนี้โดยความเสี่ยงของคุณเองนี่ไม่ใช่คำแนะนำโดยเฉพาะ

  1. รีบูตเครื่อง Mac และกด Command + R พร้อมกันหลังจากที่คุณได้ยินเสียงเรียกเข้าที่เริ่มต้นระบบจะเริ่ม OS X ลงในโหมดการกู้คืน
  2. เมื่อหน้าจอ "OS X Utilities" ปรากฏขึ้นให้ดึงเมนู "Utilities" ที่ด้านบนของหน้าจอแทน "Terminal"
  3. พิมพ์คำสั่งต่อไปนี้ลงในเทอร์มินัลแล้วกด return:
  4. csrutil disable; reboot

  5. คุณจะเห็นข้อความว่า System Integrity Protection ถูกปิดใช้งานและ Mac จำเป็นต้องรีสตาร์ทเพื่อให้การเปลี่ยนแปลงมีผลและ Mac จะรีบูตระบบเองโดยอัตโนมัติเพียงแค่ปล่อยให้เครื่องบูตเครื่องตามปกติ

คุณสามารถออกคำสั่งด้วยตนเองได้โดยไม่ต้องรีบูตโดยอัตโนมัติเช่น:

csrutil disable

โดยวิธีการถ้าคุณสนใจในการปิดใช้งาน rootless คุณอาจต้องการปิดใช้งาน Gatekeeper ในขณะที่คุณอยู่ในบรรทัดคำสั่งด้วย

หากคุณวางแผนที่จะทำอย่างอื่นในหน้าจอ Terminal หรือ OS X Utilities คุณอาจต้องการปิดคำสั่ง auto-reboot ในตอนท้ายและใช่ในกรณีที่คุณสงสัยว่านี่เป็นโหมดการกู้คืนเดียวกันที่ใช้ในการติดตั้ง OS X ใหม่ กับ Internet Recovery

เมื่อ Mac บูตขึ้นมาอีกครั้งระบบความสมบูรณ์จะถูกปิดใช้งานทั้งหมดใน Mac OS X

การตรวจสอบสถานะการป้องกันความไร้ Rootless / System Integrity ใน Mac OS X

ถ้าคุณต้องการทราบสถานะของ rootless ก่อนรีบูตเครื่องหรือไม่ต้องรีบูตเครื่อง Mac เข้าสู่โหมดการกู้คืนให้พิมพ์คำสั่งต่อไปนี้ลงใน Terminal:

csrutil status

คุณจะเห็นหนึ่งในสองข้อความที่เปิดใช้งาน indi:

สถานะ $ csrutil
สถานะการป้องกันความสมบูรณ์ของระบบ: เปิดใช้งาน

หรือ

สถานะ $ csrutil
สถานะการป้องกันความสมบูรณ์ของระบบ: ปิดใช้งาน

ถ้าในเวลาใดเวลาหนึ่งคุณต้องการเปลี่ยนสถานะของ rootless ต้องรีบูตเครื่องใหม่อีกครั้งในโหมดการกู้คืน

วิธีการเปิดใช้งานการป้องกันความสมบูรณ์ของระบบไร้ Rootless ใน Mac OS X

เพียงแค่รีบูต Mac อีกครั้งในโหมดการกู้คืนตามที่กำหนดไว้ด้านบน แต่ที่บรรทัดคำสั่งใช้ไวยากรณ์ต่อไปนี้แทน:

csrutil enable

เช่นเดียวกับก่อนหน้านี้จำเป็นต้องมีการรีบูตเครื่อง Mac เพื่อให้การเปลี่ยนแปลงมีผล

ตามที่ระบุไว้ก่อนหน้านี้ผู้ใช้ Mac ส่วนใหญ่ควรออกจาก rootless และเปิดใช้งาน System Integrity Protection เนื่องจากผู้ใช้ Mac OS X ส่วนใหญ่ไม่มีธุรกิจในไดเรกทอรีระดับระบบอย่างไรก็ตาม การปรับคุณสมบัตินี้มีเป้าหมายเพื่อให้ผู้ใช้ Mac ขั้นสูงไม่ว่าจะเป็น IT ผู้ดูแลระบบผู้ดูแลระบบเครือข่ายนักพัฒนาผู้วางแผนการรักษาความปลอดภัยและด้านเทคนิคที่เกี่ยวข้องอื่น ๆ