ผมเคยตามคู่ของบทเรียนบน RPI ของฉันและจำนวนมากของคำสั่งเริ่มต้นด้วยsudo; มันหมายถึงอะไรและมันทำอะไร?
ผมเคยตามคู่ของบทเรียนบน RPI ของฉันและจำนวนมากของคำสั่งเริ่มต้นด้วยsudo; มันหมายถึงอะไรและมันทำอะไร?
คำตอบ:
sudoย่อมาจาก Super User Do; อนุญาตให้คุณเรียกใช้ในฐานะผู้ใช้อื่นโดยปกติคือผู้ใช้ขั้นสูง ( root) เพื่อดำเนินงานด้านการบริหารเช่นอัปเดตซอฟต์แวร์เปลี่ยนระบบไฟล์และเริ่ม daemons
rootมีพลังอำนาจสูงสุดและสามารถวิ่งได้ทุกอย่าง มันสามารถสร้างความเสียหายให้กับระบบของคุณได้มากและในกรณีที่เลวร้ายที่สุดคุณจะต้องเริ่มต้นใหม่อีกครั้ง
คุณต้องเข้าใจว่าคำสั่งทำอะไรก่อนที่จะเรียกใช้
sudo?เพื่อเหตุผลด้านความปลอดภัยผู้ใช้ปกติไม่สามารถทำทุกอย่างได้ มันช่วยป้องกันไม่ให้คุณทำอะไรที่เลวร้ายโดยบังเอิญและป้องกันไม่ให้ผู้ใช้ที่เป็นอันตรายทำลายระบบ
rootเมื่อเราต้องการการยกระดับสิทธิ์sudorootช่วยให้ผู้ดูแลระบบสามารถควบคุมสิ่งที่คำสั่งของผู้ใช้แต่ละคนสามารถทำงานเป็น ตัวอย่างเช่นผู้ดูแลระบบของคุณอาจอนุญาตให้คุณเรียกใช้apt-getเป็นrootแต่ไม่มีอะไรอื่น นอกจากนี้คำสั่งทั้งหมดที่ทำงานผ่านsudoจะถูกล็อกอิน/var/log/auth.logด้วย
รูปภาพ Debian เริ่มต้นได้รับการsudoติดตั้งไว้ล่วงหน้า แต่อาจไม่เป็นอย่างอื่น คุณมักจะสามารถติดตั้งได้โดยใช้ตัวจัดการแพคเกจการกระจายหรือตรวจสอบวิธีการอื่น ๆ ในการรับสิทธิ์การเข้าถึงราก
คุณสามารถติดตั้งsudoใช้pacman: ทำงานเป็นpacman -S sudo rootจากนั้นคุณควรเพิ่มผู้ใช้ใหม่และปิดใช้งานrootบัญชี
ใน Arch Linux (และการแจกแจงอื่น ๆ ที่สนับสนุน) คุณสามารถใช้suคำสั่ง (ผู้ใช้สำรอง) เพื่อรับข้อมูลประจำตัวของผู้ใช้รายอื่น (รวมถึงroot) ซึ่งหมายความว่าคำสั่งในอนาคตทั้งหมดของคุณ (ในเซสชั่นปัจจุบัน) จะมีสิทธิ์ของพวกเขา อย่างไรก็ตามคุณจะต้องใช้รหัสผ่านและคำสั่งที่คุณใช้จะไม่ถูกบันทึกไว้
suอาจมีประโยชน์ในการตอบคำถามได้จริงหรือไม่?
คุณมักจะใช้มันเพื่อรันคำสั่งเฉพาะเป็นรูทแทนที่จะเป็นผู้ใช้ปัจจุบันของคุณ เพื่อเหตุผลด้านความปลอดภัยบรรทัดฐานในโลก Linux มีไว้ให้ผู้ใช้หลักของคุณมีสิทธิ์ จำกัด และคุณสามารถเปลี่ยนไปใช้รูทเมื่อใดก็ตามที่คุณต้องการทำสิ่งที่คุณไม่มีสิทธิ์ใช้งาน (เช่นการติดตั้งแพ็คเกจ)
รูทเป็นเหมือนผู้ดูแลระบบในโลก Windows - เป็นผู้ใช้ "สามารถทำอะไรก็ได้" ที่สุดของคุณ