การแก้ไขด่วนเพื่อป้องกัน dscl การเปลี่ยนแปลงรหัสผ่านที่ไม่ได้รับอนุญาตใน OS X Lion

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

  • Launch Terminal (ตั้งอยู่ที่ / Applications / Utilities /)
  • พิมพ์คำสั่งต่อไปนี้และกด return:
  • sudo chmod 100 /usr/bin/dscl

  • ระบบจะขอให้คุณป้อนรหัสผ่านผู้ดูแลระบบปัจจุบันเพื่อยืนยันการเปลี่ยนแปลงสิทธิ์ป้อนและกด return

นี่คือการแก้ไขสิทธิ์แบบง่ายซึ่งอาจจำลองข้อมูลว่าการอัปเดตการรักษาความปลอดภัยอย่างเป็นทางการจะทำอย่างไร การใช้ sudo chmod 100 ระบุว่ามีเพียงเจ้าของ (root) เท่านั้นที่สามารถรันคำสั่ง dscl ซึ่งช่วยป้องกันไม่ให้ผู้ใช้ที่ไม่ใช่ผู้ดูแลระบบอื่น ๆ เข้าถึงยูทิลิตีบริการไดเรกทอรีโดยไม่ใช้คำสั่ง sudo และรหัสผ่านของผู้ดูแลระบบ

อาจมีผลที่ไม่ได้ตั้งใจในการเปลี่ยนสิทธิ์เหล่านี้ แต่ก็ไม่น่าจะส่งผลต่อผู้ใช้ส่วนใหญ่ หากคุณพบปัญหาบางอย่างคุณสามารถเปลี่ยนสิทธิ์กลับคืนมาได้ซึ่งจะตั้งค่าเป็น 755 ตามค่าเริ่มต้น

ขอบคุณมากที่ "Tjb" ที่เหลือเคล็ดลับในความคิดเห็นนี้!

ปรับปรุง: Jim T ออกคำแนะนำต่อไปนี้ในความคิดเห็นแนะนำคำสั่ง chmod อื่นเพื่อเปลี่ยนสิทธิ์:

แทนที่จะทำเช่นนี้:

sudo chmod go-x / usr / bin / dscl

จะเป็นการลบสิทธิการใช้งานออกจากกลุ่มและอื่น ๆ โดยปล่อยให้สิทธิ์อื่น ๆ (อ่านและเขียนและสิทธิ์เต็มที่ของ root) อย่างสมบูรณ์แบบก่อนที่จะมีการเปลี่ยนแปลง หากต้องการย้อนกลับให้ทำ:

sudo chmod go + x / usr / bin / dscl

เพียงสัมผัสสิ่งที่คุณต้องสัมผัส!

เหตุผลของเขาคือ chmod 100 มีข้อ จำกัด ในการเปลี่ยนคำสั่งให้รันเฉพาะที่ก่อนที่ผู้ใช้ root สามารถอ่านเขียนและรันได้