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