ทำไมฉันต้อง 'sudo'


12

ผมเคยตามคู่ของบทเรียนบน RPI ของฉันและจำนวนมากของคำสั่งเริ่มต้นด้วยsudo; มันหมายถึงอะไรและมันทำอะไร?



7
นี่เป็นคำถามที่ดีฉันสามารถจินตนาการผู้เริ่มต้นจำนวนมากต้องการข้อมูลเกี่ยวกับเรื่องนี้
berry120

@ berry120 ใช่ แต่มันจะเหมาะกว่ากับ Unix / Linux SE เพราะคนใช้ Pi ของพวกเขาบนระบบปฏิบัติการอื่น ๆ เช่นกัน (ฉันกำลังมองหาคุณ RISC OS!)
evamvid

Whaaaat? คำถามอายุปี! ทำ 2 ปี!
evamvid

@evamvid นี่เป็นหนึ่งในตัวอย่างคำถามแรกใน RPi.SE ...
Alex Chamberlain

คำตอบ:


21

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บัญชี

su

ใน Arch Linux (และการแจกแจงอื่น ๆ ที่สนับสนุน) คุณสามารถใช้suคำสั่ง (ผู้ใช้สำรอง) เพื่อรับข้อมูลประจำตัวของผู้ใช้รายอื่น (รวมถึงroot) ซึ่งหมายความว่าคำสั่งในอนาคตทั้งหมดของคุณ (ในเซสชั่นปัจจุบัน) จะมีสิทธิ์ของพวกเขา อย่างไรก็ตามคุณจะต้องใช้รหัสผ่านและคำสั่งที่คุณใช้จะไม่ถูกบันทึกไว้

ดูสิ่งนี้ด้วย:


1
คุณคิดว่าข้อมูลsuอาจมีประโยชน์ในการตอบคำถามได้จริงหรือไม่?
Alex L

เสนอการแก้ไขในหัวข้อการกระจายอื่น ๆ หรือไม่
อเล็กซ์แชมเบอร์เลน

นอกจากนี้ฉันมักจะเขียน "sudo bash" ทันทีที่ฉันโหลด pi เพื่อหลีกเลี่ยงการพิมพ์ sudo ตลอดเวลา สิ่งนี้ช่วยให้คุณสามารถทำงานทุกอย่างด้วยสิทธิ์ผู้ใช้ขั้นสูง เห็นได้ชัดว่าเป็นอันตรายเล็กน้อย แต่ด้วยค่า rpi ทำให้คุณสามารถทำได้
phalt

1
นี่เป็นนิสัยที่แย่มากที่จะเข้าไป!
อเล็กซ์แชมเบอร์เลน

1
@ ทางลัดทำไมคุณไม่ลงชื่อเข้าใช้ด้วยรูท?
Jivings

2

คุณมักจะใช้มันเพื่อรันคำสั่งเฉพาะเป็นรูทแทนที่จะเป็นผู้ใช้ปัจจุบันของคุณ เพื่อเหตุผลด้านความปลอดภัยบรรทัดฐานในโลก Linux มีไว้ให้ผู้ใช้หลักของคุณมีสิทธิ์ จำกัด และคุณสามารถเปลี่ยนไปใช้รูทเมื่อใดก็ตามที่คุณต้องการทำสิ่งที่คุณไม่มีสิทธิ์ใช้งาน (เช่นการติดตั้งแพ็คเกจ)

รูทเป็นเหมือนผู้ดูแลระบบในโลก Windows - เป็นผู้ใช้ "สามารถทำอะไรก็ได้" ที่สุดของคุณ

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