หมายเหตุ:ฉันกำลังตอบ1.เนื่องจากอิกนาชิโอตอบแล้ว 2 .
ในsudoรายการต่อไปนี้:
superadm ALL=(ALL) ALL
มีสี่ฟิลด์:
- คนแรกระบุผู้ใช้ที่จะได้รับสิทธิ์สำหรับบางคำสั่ง
- ส่วนที่สองไม่ค่อยถูกใช้ เป็นรายการชื่อโฮสต์ที่รายการ sudo นี้จะมีผลบังคับใช้ เกี่ยวกับการตั้งค่ามาตรฐานเพียงหนึ่งโฮสต์ที่เกี่ยวข้อง (localhost)
ALLเพื่อให้ข้อมูลนี้มักจะเป็นซ้ายเป็น
- สี่เขตคือรายการของคำสั่งที่
superadmจะสามารถที่จะทำงานด้วยการยกระดับสิทธิ์ ALLหมายถึงคำสั่งทั้งหมด มิฉะนั้นให้ใช้รายการคำสั่งที่คั่นด้วยเครื่องหมายจุลภาค
- เขตข้อมูลที่สาม (หนึ่งที่เขียน
(…)ว่าเป็นตัวเลือก) ระบุผู้ใช้ (และกลุ่ม) superadmผู้ใช้จะสามารถเรียกใช้คำสั่งต่อไปนี้เป็น ALLหมายความว่าพวกเขาสามารถเลือกอะไรก็ได้ (ไม่ จำกัด ) (root)มันข้อมูลนี้ถูกละไว้ก็หมายความว่าเช่นเดียวกับ
ตัวอย่าง:
alan ALL = (root, bin : operator, system) /bin/ls, /bin/kill
ที่นี่alanได้รับอนุญาตให้เรียกใช้สองคำสั่ง/bin/lsและ/bin/killเป็นroot(หรือbin) อาจมีสิทธิ์เพิ่มเติมoperatorหรือsystemกลุ่ม
ดังนั้นalanอาจเลือกที่จะทำงานlsในฐานะbinผู้ใช้และด้วยoperatorสิทธิ์ของกลุ่มดังนี้:
sudo -u bin -g operator /bin/ls /whatever/directory
ถ้าถูกละไว้ก็เช่นเดียวกับ-u -u rootหาก-gไม่ระบุจะไม่ได้รับสิทธิ์เพิ่มเติมสำหรับกลุ่ม