ทำไมผู้ใช้รูทต้องได้รับอนุญาต sudo


16
[root@notebook ~]# grep root /etc/sudoers
root    ALL=(ALL)   ALL

คำถาม:ทำไมผู้ใช้รูทต้องใช้สิทธิ์ sudo ฉันเห็นมันในระบบปฏิบัติการ UNIX ที่แตกต่างกัน ใครช่วยอธิบายสิ่งนี้ได้มั้ย


2
sudo! = root
DisplayName

คำตอบ:


25

เพื่อให้พวกเขาสามารถ (จากmanหน้า): -

รันคำสั่งในฐานะผู้ใช้อื่น

sudoไม่ จำกัด เฉพาะการอนุญาตให้ผู้ใช้ทั่วไปเรียกใช้งานคำสั่งในฐานะรูท รูทสามารถรันคำสั่งในฐานะผู้ใช้อื่นด้วย: -

sudo -u bloggs <command>

โปรดทราบว่ารูทนั้นไม่จำเป็นต้องระบุรหัสผ่านของผู้ใช้


2
su -c '<command>' bloggs
Joshua

ใช่มันเป็นวิธีการตั้งครรภ์แทนและรากเป็นเพียงการใช้งานทั่วไป
mckenzm

9

สมมติว่าคุณมีสคริปต์ที่ทำสิ่งต่าง ๆ โดยไม่จำเป็นต้องมีสิทธิ์พิเศษและจากนั้นก็เป็นสิ่งที่ได้รับสิทธิพิเศษเพียงอย่างเดียวผ่าน sudo

ถ้าคุณต้องการให้สคริปต์นี้มีประโยชน์สำหรับรูทเช่นกันมันสะดวกที่คำสั่ง sudo สุดท้ายนี้จะไม่ปฏิเสธเพราะ "คุณเป็นรูท แต่รูทไม่ได้รับอนุญาตให้ sudo"

การกำหนดค่านี้ใน sudoers แทนที่จะ hardcoding ข้อยกเว้นสำหรับ root ใน sudo binary ช่วยลดความซับซ้อนของรหัสความปลอดภัยที่สำคัญใน sudo (แต่เล็กน้อย) ซึ่งเป็นสิ่งที่ดีเสมอ


1
และนอกจากนี้ผมได้เริ่มต้นมากกว่าหนึ่งครั้งโดยบังเอิญคำสั่งผู้ดูแลระบบในระดับเดียวกับsudoในขณะที่ผมอยู่แล้วเป็นรากเพียงเพราะมันเป็นที่ฝังแน่นในหน่วยความจำของกล้ามเนื้อของฉัน ...
Shadur

3

เหตุผลที่ให้ไว้ในคู่มือ sudo ดั้งเดิม (ขออภัยที่ไม่มีเวอร์ชั่นออนไลน์ที่ฉันรู้) มีไว้สำหรับการบันทึกคำสั่งที่ใช้งานได้ทุกที่ที่ทำได้เมื่อเข้าสู่ระบบในฐานะรูท

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.