หมายเหตุ:ฉันกำลังตอบ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
ไม่ระบุจะไม่ได้รับสิทธิ์เพิ่มเติมสำหรับกลุ่ม