11 คะแนน โดย xguru 2026-01-14 | 2 ความคิดเห็น | แชร์ทาง WhatsApp
  • แทนที่จะใช้โมเดลสิทธิ์แบบอิงผู้ใช้·กฎของ sudo/doas แบบดั้งเดิม ได้ประยุกต์ใช้ โมเดลสิทธิ์เชิงวัตถุ (Object-Capability Model) เพื่อทำให้การมอบหมายสิทธิ์เรียบง่ายขึ้น
  • แสดงสิทธิ์ไม่ใช่ผ่านไฟล์ตั้งค่า แต่ด้วยโครงสร้างที่ ตัวซ็อกเก็ตเองก็คือ capability
    • capsudod จะ สร้างซ็อกเก็ตสิทธิ์ สำหรับรันคำสั่งที่กำหนดไว้และรอรับการเชื่อมต่อ
    • capsudo สามารถเข้าถึงซ็อกเก็ตนั้นเพื่อ รันได้เฉพาะคำสั่งที่ bind ไว้ล่วงหน้าเท่านั้น
  • ควบคุมได้อย่างชัดเจนว่าใครรันอะไรได้บ้าง ด้วย สิทธิ์ไฟล์ของซ็อกเก็ต (เจ้าของ·กลุ่ม·โหมด) เพียงอย่างเดียว
  • โดยไม่ต้องมี กฎจับคู่ผู้ใช้·คำสั่ง, parser หรือภาษานโยบายที่ซับซ้อน ทำให้ ผสานเข้ากับโมเดลสิทธิ์ของ Unix ได้อย่างเป็นธรรมชาติ
  • เหมาะอย่างยิ่งกับ การมอบหมายสิทธิ์เฉพาะงานเดียว เช่น อนุญาตให้ผู้ใช้บางคนสั่ง reboot ได้เท่านั้น
    # capsudod -s /home/user/reboot-capability reboot &  
    # chown user:user /home/user/reboot-capability && chmod 700 /home/user/reboot-capability  
    $ capsudo -s /home/user/reboot-capability  
    
  • ใช้เป็นทางเลือกแทน sudo/doas ได้สะดวกใน สภาพแวดล้อมระบบแบบมินิมัล อย่าง Alpine Linux
  • เป็นการออกแบบที่โฟกัสที่ “ใครเป็นเจ้าของ capability นี้” มากกว่า “ใครสามารถรันได้”

2 ความคิดเห็น

 
xguru 2026-01-14

อ๊ะ ผมลืมใส่ / ไปตัวหนึ่งครับ ฮือ แก้ไขไว้แล้วครับ