มิทช์โพสต์ลิงก์ที่ดีในความคิดเห็น: ทำไมการลงชื่อเข้าใช้ในฐานะรูทจึงไม่ดี และเว็บไซต์ Debian มีประโยชน์หลักที่ระบุไว้ในวิกิของพวกเขา :
ทำไมsudo
?
การใช้sudo
ดีกว่า (ปลอดภัย) กว่าเปิดเซสชันในฐานะรูทด้วยเหตุผลหลายประการรวมถึง:
ไม่มีใครจำเป็นต้องรู้รหัสผ่านรูท ( sudo
แจ้งให้ใส่รหัสผ่านของผู้ใช้ปัจจุบัน) สามารถให้สิทธิ์พิเศษแก่ผู้ใช้แต่ละคนเป็นการชั่วคราวแล้วนำออกไปโดยไม่จำเป็นต้องเปลี่ยนรหัสผ่าน
ง่ายต่อการเรียกใช้คำสั่งที่ต้องการสิทธิ์พิเศษผ่านทางsudo
; เวลาที่เหลือคุณทำงานในฐานะผู้ใช้ที่ไม่มีสิทธิพิเศษซึ่งช่วยลดความเสียหายที่อาจเกิดจากข้อผิดพลาด
การตรวจสอบ / การบันทึก: เมื่อsudo
คำสั่งถูกดำเนินการชื่อผู้ใช้เดิมและคำสั่งจะถูกบันทึกไว้
สำหรับเหตุผลข้างต้นการสลับไปใช้รูทการใช้sudo -i
(หรือsudo su
) มักจะถูกคัดค้านเนื่องจากมันยกเลิกคุณสมบัติข้างต้น
เกี่ยวกับ Ubuntuข้อดีและข้อเสียมีอยู่ในวิกิของเรา :
ประโยชน์ของการใช้ sudo
มีประโยชน์หลายประการสำหรับ Ubuntu ที่ทำให้การปิดใช้งานการเข้าสู่ระบบรูทเป็นค่าเริ่มต้น ได้แก่ :
โปรแกรมติดตั้งมีคำถามให้ถามน้อยลง ผู้ใช้ไม่จำเป็นต้องจำรหัสผ่านพิเศษสำหรับการใช้งานเป็นครั้งคราว (เช่นรหัสผ่านรูท) หากพวกเขาทำเช่นนั้นพวกเขาอาจจะลืมมันได้ (หรือบันทึกอย่างไม่ปลอดภัยทำให้ทุกคนสามารถถอดรหัสระบบของพวกเขาได้อย่างง่ายดาย)
หลีกเลี่ยงการลงชื่อเข้าใช้แบบโต้ตอบ "ฉันสามารถทำอะไรก็ได้" ตามค่าเริ่มต้น คุณจะได้รับแจ้งให้ใส่รหัสผ่านก่อนที่การเปลี่ยนแปลงครั้งสำคัญจะเกิดขึ้นซึ่งจะทำให้คุณคิดถึงผลที่จะตามมาจากสิ่งที่คุณทำ
sudo เพิ่มรายการบันทึกการทำงานของคำสั่ง (ใน/var/log/auth.log
) หากคุณทำผิดพลาดคุณสามารถย้อนกลับไปดูว่ามีคำสั่งอะไรบ้าง
บนเซิร์ฟเวอร์แคร็กเกอร์ทุกคนที่พยายามจะบังคับให้พวกเขารู้ว่ามันมีชื่อบัญชีรูทและจะลองก่อน สิ่งที่พวกเขาไม่รู้คือชื่อผู้ใช้ของผู้ใช้รายอื่นของคุณ เนื่องจากรหัสผ่านของบัญชีรูทถูกล็อคการโจมตีครั้งนี้จะไม่มีความหมายเนื่องจากไม่มีรหัสผ่านที่จะถอดรหัสหรือเดาได้ตั้งแต่แรก
- ช่วยให้ถ่ายโอนสิทธิ์ผู้ดูแลระบบได้ง่ายโดยการเพิ่มและลบผู้ใช้ออกจากกลุ่ม เมื่อคุณใช้รหัสผ่านรูทเดียววิธีเดียวที่จะยกเลิกการอนุญาตผู้ใช้คือการเปลี่ยนรหัสผ่านรูท
sudo สามารถตั้งค่าได้ด้วยนโยบายความปลอดภัยที่ละเอียดยิ่งขึ้น รหัสผ่านของบัญชีรูทไม่จำเป็นต้องแชร์กับทุกคนที่จำเป็นต้องทำงานการบริหารบางประเภทในระบบ (ดูหัวข้อย่อยก่อนหน้า)
การรับรองความถูกต้องจะหมดอายุโดยอัตโนมัติหลังจากเวลาสั้น ๆ (ซึ่งสามารถกำหนดให้น้อยที่สุดตามต้องการหรือ 0) ดังนั้นหากคุณเดินออกจากเทอร์มินัลหลังจากรันคำสั่งในฐานะรูทโดยใช้ sudo คุณจะไม่เปิดให้รูทเทอร์มินัลเปิดไปเรื่อย ๆ
ข้อเสียของการใช้ sudo
แม้ว่าเดสก์ท็อปประโยชน์ของการใช้ sudo นั้นยอดเยี่ยมมีปัญหาที่เป็นไปได้ซึ่งจำเป็นต้องมีการบันทึก:
การเปลี่ยนทิศทางเอาต์พุตของคำสั่งที่รันด้วย sudo ต้องใช้วิธีอื่น ตัวอย่างเช่นพิจารณาsudo ls > /root/somefile
จะไม่ทำงานเนื่องจากเป็นเชลล์ที่พยายามเขียนลงไฟล์ดังกล่าว คุณสามารถใช้ls | sudo tee -a /root/somefile
เพื่อผนวกหรือls | sudo
tee /root/somefile
เขียนทับเนื้อหา นอกจากนี้คุณยังสามารถผ่านคำสั่งทั้งกระบวนการเปลือกทำงานภายใต้ sudo จะมีไฟล์ที่เขียนไปด้วยสิทธิ์ root sudo sh -c "ls >
/root/somefile"
เช่น
ในสภาพแวดล้อมของสำนักงานผู้ใช้ภายในระบบเท่านั้นที่เป็นรูท ผู้ใช้รายอื่นทั้งหมดจะถูกนำเข้าโดยใช้เทคนิค NSS เช่น nss-ldap ในการตั้งค่าเวิร์กสเตชันหรือแก้ไขในกรณีที่เครือข่ายล้มเหลวโดยที่ nss-ldap ใช้งานไม่ได้ต้องใช้รูท สิ่งนี้มีแนวโน้มที่จะออกจากระบบไม่สามารถใช้งานได้เว้นแต่จะแตก ผู้ใช้ท้องถิ่นเพิ่มเติมหรือรหัสผ่านรูตที่เปิดใช้งานจำเป็นต้องใช้ที่นี่ บัญชีผู้ใช้ภายในควรมี $ HOME ในดิสก์ภายในเครื่องไม่ใช่บน NFS (หรือระบบไฟล์เครือข่ายอื่น ๆ ) และ. profile / .bashrc ที่ไม่ได้อ้างอิงไฟล์ใด ๆ บนการเมาท์ NFS โดยปกติจะเป็นกรณีของรูท แต่หากเพิ่มบัญชีช่วยเหลือที่ไม่ใช่รูทคุณจะต้องใช้ความระมัดระวังเหล่านี้ด้วยตนเอง อย่างไรก็ตามข้อดีของการใช้ผู้ใช้โลคัลกับ sudo ก็คือคำสั่งนั้นสามารถติดตามได้อย่างง่ายดายดังที่กล่าวไว้ในประโยชน์ด้านบน
และเรามักจะมีมัน (จากการเปิดตัวครั้งแรกมาก)
การอ้างอิงที่เก่าที่สุดที่ฉันพบพูดเกี่ยวกับ 4.10 ที่มี "sudo"
SHUTTLEWORTH เปิดตัว Linux UBUNTU LINUX
... Ubuntu Linux ที่ใช้ Debian นั้นมี Gnome 2.8, kernel 2.6.8.1, OpenOffice.org 1.1.2 และมาพร้อมกับขั้นตอนการติดตั้งแบบข้อความ แต่ใช้งานง่าย Ubuntu ได้ปิดการใช้งานผู้ใช้รูทที่ต้องการใช้ sudo เหมือนที่ Mac OSX ทำ ...