วิธีปิดใช้งานการป้องกันความสมบูรณ์ของระบบบน 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