[root@notebook ~]# grep root /etc/sudoers
root ALL=(ALL) ALL
คำถาม:ทำไมผู้ใช้รูทต้องใช้สิทธิ์ sudo ฉันเห็นมันในระบบปฏิบัติการ UNIX ที่แตกต่างกัน ใครช่วยอธิบายสิ่งนี้ได้มั้ย
[root@notebook ~]# grep root /etc/sudoers
root ALL=(ALL) ALL
คำถาม:ทำไมผู้ใช้รูทต้องใช้สิทธิ์ sudo ฉันเห็นมันในระบบปฏิบัติการ UNIX ที่แตกต่างกัน ใครช่วยอธิบายสิ่งนี้ได้มั้ย
คำตอบ:
เพื่อให้พวกเขาสามารถ (จากman
หน้า): -
รันคำสั่งในฐานะผู้ใช้อื่น
sudo
ไม่ จำกัด เฉพาะการอนุญาตให้ผู้ใช้ทั่วไปเรียกใช้งานคำสั่งในฐานะรูท รูทสามารถรันคำสั่งในฐานะผู้ใช้อื่นด้วย: -
sudo -u bloggs <command>
โปรดทราบว่ารูทนั้นไม่จำเป็นต้องระบุรหัสผ่านของผู้ใช้
สมมติว่าคุณมีสคริปต์ที่ทำสิ่งต่าง ๆ โดยไม่จำเป็นต้องมีสิทธิ์พิเศษและจากนั้นก็เป็นสิ่งที่ได้รับสิทธิพิเศษเพียงอย่างเดียวผ่าน sudo
ถ้าคุณต้องการให้สคริปต์นี้มีประโยชน์สำหรับรูทเช่นกันมันสะดวกที่คำสั่ง sudo สุดท้ายนี้จะไม่ปฏิเสธเพราะ "คุณเป็นรูท แต่รูทไม่ได้รับอนุญาตให้ sudo"
การกำหนดค่านี้ใน sudoers แทนที่จะ hardcoding ข้อยกเว้นสำหรับ root ใน sudo binary ช่วยลดความซับซ้อนของรหัสความปลอดภัยที่สำคัญใน sudo (แต่เล็กน้อย) ซึ่งเป็นสิ่งที่ดีเสมอ
sudo
ในขณะที่ผมอยู่แล้วเป็นรากเพียงเพราะมันเป็นที่ฝังแน่นในหน่วยความจำของกล้ามเนื้อของฉัน ...
เหตุผลที่ให้ไว้ในคู่มือ sudo ดั้งเดิม (ขออภัยที่ไม่มีเวอร์ชั่นออนไลน์ที่ฉันรู้) มีไว้สำหรับการบันทึกคำสั่งที่ใช้งานได้ทุกที่ที่ทำได้เมื่อเข้าสู่ระบบในฐานะรูท
sudo
! = root