ทำไม sudo จำเป็นสำหรับการรีบู๊ตในเครื่อง แต่ไม่ได้มาจาก GUI?


10

เมื่อฉันเปิดเครื่องและเข้าสู่บัญชีของฉันฉันสามารถทำสิ่งที่ฉันต้องการและแม้กระทั่งปิดเครื่องหรือพูดว่ารีบูต

แต่ถ้าฉันเปิดเทอร์มินัลแล้วลองเรียกใช้คำสั่งrebootหรือshutdownต้องมีการเข้าถึงรูท ทำไมเป็นเช่นนี้

ฉันคิดว่าสาเหตุบางอย่างของพฤติกรรมเช่นนี้สำหรับคุณอาจเป็นที่ต้องการsshแต่ฉันไม่แน่ใจเกี่ยวกับมันหรือฉันอาจขาดหายไปบางจุด


ตรวจสอบdbusและสภาพแวดล้อมแบบกราฟิกของคุณ (เช่น KDE หรือ gnome)
Hennes

ฉันคิดว่าคุณสามารถทำได้ทุกอย่างguiฉันแค่อยากรู้ว่าทำไมคุณสมบัติการออกแบบดังกล่าวถึงอยู่ที่นั่น
Aman Deep Gautam

คำตอบ:


7

มันเป็นคุณสมบัติด้านความปลอดภัย

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

การใช้ sudo บังคับให้คุณใช้รหัสผ่าน หากคุณพิมพ์รหัสผ่านผิดรหัสข้อผิดพลาดจะทำให้คุณเกิดข้อผิดพลาดและหวังว่าคุณจะรู้ว่าตัวเองผิด นี่คือเหตุผลว่าทำไมจึงควรมีรหัสผ่านรูทแตกต่างกันในทุกเซิร์ฟเวอร์


ฉันก็คิดเหมือนกัน แต่แค่อยากจะทำให้แน่ใจว่าฉันจะไม่พลาดอะไรบางอย่าง .. :)
Aman Deep Gautam

1
ฉันเห็นมากกว่าผู้ดูแลระบบ Unix ลบชื่อคอมพิวเตอร์จาก shell prompt เพราะใช้พื้นที่มากและเสียใจในการตัดสินใจในภายหลัง
Keltari

โปรดทราบว่านี่ไม่ใช่คุณลักษณะด้านความปลอดภัยที่เข้าใจได้ในที่นี้ เมื่อยูนิกซ์เริ่มต้นคุณจะได้รับคอนโซลเท่านั้น (ไม่มี GUI) และมีเพียงผู้ใช้รูทเท่านั้นที่ได้รับอนุญาตให้ปิด / รีสตาร์ท มันยังคงเป็นอย่างนั้น GUI ข้ามโดยใช้บิต + s ในไฟล์ แม้ว่าคุณจะสามารถลบสิ่งเหล่านั้นในเมนูของคุณโดยใช้คำสั่งเหล่านี้: askubuntu.com/questions/53308/ ......
Alexis Wilke

ฉันเพิ่งเห็น CentOS VM อ้างว่า "reboot" ไม่ใช่คำสั่งเมื่อฉันsu-ed เป็น root ฉันพิมพ์ที่sudo rebootนั่นและใช้งานได้ เมื่อฉัน SSH โดยตรงในฐานะที่เป็นรากrebootทำงานได้ดี มันเป็นเรื่องแปลก.
Steven Lu

@StevenLu ตรวจสอบเส้นทางของคุณ ("echo $ {PATH}") อาจเป็นไปได้ว่าไดเรกทอรี "sbin" ไม่ได้อยู่ในเส้นทางของคุณในบางกรณี ในกรณีนั้นความแปลกประหลาดอาจไม่ได้อยู่กับคำสั่ง reboot การใช้ "การรีบูต" อาจช่วยอธิบายได้เช่นกัน
TOOGAM

0

โดยปกติคุณสามารถรีบูตจากเทอร์มินัลได้โดยกด Ctrl + Alt + Del มันไม่ทำงานจากระยะไกล (การรีบูตจากระยะไกลโดยใช้ GUI ที่ไม่มีสิทธิ์ใช้งานไม่สามารถทำได้)

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