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