ใช้ Gatekeeper เพื่อควบคุมการเข้าถึง Applications
คุณสามารถใช้spctl
(Gatekeeper) เพื่อสร้างรายการแอพที่ได้รับอนุมัติและไม่ได้รับการอนุมัติ
ตัวอย่างเช่นสมมติว่าคุณต้องการอนุญาตเมล แต่บล็อก Chrome
sudo spctl --add --label "ApprovedApps" /Applications/Mail.app
sudo spctl --add --label "DeniedApps" /Applications/Chrome.app
คำสั่งด้านบนจะ "ติดป้ายกำกับ" จดหมายและ Chrome เป็น "อนุมัติ" และ "ปฏิเสธ" ตามลำดับ (คุณสามารถใช้ตัวอธิบายของคุณเอง)
ตอนนี้เพื่อเปิดใช้งาน / ปิดการใช้งานแอพคุณออกคำสั่ง:
sudo spctl --enable --label "ApprovedApps"
sudo spctl --disable --label "DeniedApps"
ข้อได้เปรียบนี้คือการเพิ่มแอปอื่นลงในรายการใดรายการหนึ่งคุณเพียงแค่ต้องเพิ่มป้ายกำกับที่เหมาะสม:
sudo spctl --add --label "ApprovedApps" /Applications/Another.app
นอกจากนี้คุณสามารถห้ามโค้ดจาก Mac App Store ไม่ให้ทำงาน (อยู่ในspctl
หน้า man - man spctl
)
spctl --disable --label "Mac App Store"
วิธีนี้จะป้องกันไม่ให้ใครก็ตามดาวน์โหลดแอพจาก App Store และติดตั้ง / รัน
การจัดการกับผู้ดูแลระบบ /sudoers
ตามที่ระบุไว้ในความคิดเห็นสิ่งที่ผู้ดูแลระบบสามารถทำได้ผู้ดูแลระบบคนอื่นสามารถยกเลิกได้ การใช้spctl
ต้องการรูท แต่การแก้ไขไฟล์ sudoers เพื่อ จำกัด การเข้าถึงคำสั่งเฉพาะสามารถป้องกันผู้ใช้อื่น ๆ / ผู้ดูแลระบบจากการเลิกทำการเปลี่ยนแปลงของคุณ
ดูวิธีป้องกันผู้ใช้ sudo ไม่ให้รันคำสั่งเฉพาะ สำหรับรายละเอียดเกี่ยวกับวิธีกำหนดค่า "รายการที่อนุญาตด้วยข้อยกเว้น" ในsudoers
ไฟล์ของคุณ
ตัวอย่างเช่นเพื่อให้ผู้ใช้ Sam เข้าถึงคำสั่งทั้งหมดยกเว้น spctl
คุณจะต้องใส่ไฟล์ sudoers:
sam ALL = ALL, !/usr/sbin/spctl
ทีนี้นี่เป็นวิธีที่ "รวดเร็วและสกปรก" ในการป้องกันการเข้าถึงspctl
แต่ท้ายที่สุดมันไม่ได้ผลเพราะถ้าผู้ดูแลระบบคนอื่นฉลาดกับกลยุทธ์ของคุณสิ่งที่เขา / เธอต้องทำคือเปลี่ยนชื่อคำสั่งและพวกเขาก็สามารถเข้าถึงได้
จากsudoers
หน้าคน:
โดยทั่วไปหากผู้ใช้มี sudo ทั้งหมดไม่มีสิ่งใดที่จะป้องกันพวกเขาจากการสร้างโปรแกรมของตนเองที่ให้รูทเชลล์ (หรือสร้างสำเนาเชลล์ของตนเอง) โดยไม่คำนึงถึง `! ' องค์ประกอบในข้อมูลจำเพาะของผู้ใช้
ในการล็อคมันลงจริง ๆ คุณจะต้องบังคับให้ผู้ใช้รายอื่นเป็นผู้ใช้รายอื่นsu
(เช่นโอเปอเรเตอร์) หรือสร้างบัญชีขาวของคำสั่งที่อนุญาตให้เริ่มต้นการบล็อกทุกอย่างอื่น อย่างไรก็ตามนั่นเป็นเรื่องที่ใช้เวลานานและค่อนข้างอันตรายเนื่องจากคุณสามารถปิดกั้นผู้คนจากการทำงานที่สำคัญ