Computer >> คอมพิวเตอร์ >  >> ระบบ >> Linux

Sudo ใน Linux คืออะไรและใช้งานอย่างไร

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

ในขณะที่พยายาม sudo กับบุคคลในชีวิตจริงอาจจะไม่ได้ผล แต่เป็นคำสั่งวิเศษที่จะผ่านสิ่งกีดขวางบนถนนในโลกของ Linux sudo คืออะไร? ทำไมมันถึงมีอยู่จริง? คำตอบอยู่ที่วิธีที่ Linux จัดการกับการอนุญาต

    Sudo ใน Linux คืออะไรและใช้งานอย่างไร

    ทำความเข้าใจเกี่ยวกับสิทธิ์ของผู้ใช้ Linux

    ลินุกซ์ถือเป็นระบบปฏิบัติการที่ปลอดภัยเนื่องจากวิธีจัดการกับการอนุญาต แม้ว่าระบบปฏิบัติการเช่น macOS (ซึ่งใช้บรรพบุรุษร่วมกับ Linux) และ Windows ในตอนนี้จะคล้ายกับ Linux มากกว่าในเรื่องนี้ แต่ระบบปฏิบัติการโอเพ่นซอร์สยังคงมีความพิเศษอยู่บ้าง

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

    ซึ่งรวมถึงสิ่งที่คุณอาจไม่ควรทำซึ่งอาจทำให้ข้อมูลสูญหายหรือจำเป็นต้องล้างข้อมูลและติดตั้งใหม่ทั้งหมด

    Sudo ใน Linux คืออะไรและใช้งานอย่างไร

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

    อย่างไรก็ตาม เมื่อคุณต้องการใช้บรรทัดคำสั่ง Terminal เพื่อทำสิ่งต่างๆ ให้เสร็จสิ้น sudo เป็นวิธีที่ปลอดภัยและมีประสิทธิภาพมากที่สุด

    ซูโดะและเทอร์มินัล

    Sudo ใน Linux คืออะไรและใช้งานอย่างไร

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

    ไวยากรณ์ Sudo

    ไวยากรณ์ของ Sudo (รูปแบบของคำสั่ง) นั้นเรียบง่าย เพียงพิมพ์ “sudo” ตามด้วยคำสั่งที่คุณต้องการดำเนินการ

    Sudo ใน Linux คืออะไรและใช้งานอย่างไร

    ตัวอย่างเช่น "sudo apt-get update" จะอัปเดตที่เก็บแอปทั้งหมดที่ระบุไว้ในไฟล์ที่เกี่ยวข้อง หากคุณพยายามเรียกใช้โดยไม่ใช้ sudo คุณจะได้รับข้อความแสดงข้อผิดพลาดที่แจ้งว่าคุณไม่ได้รับอนุญาต อนึ่ง นี่เป็นคำสั่ง sudo แรกที่คุณต้องการเรียกใช้หลังจากติดตั้ง Linux distro ที่คุณชื่นชอบใหม่

    คำว่า “ซู” ในภาษาซูโด

    “su” ใน sudo ย่อมาจาก “superuser” และเป็นคำสั่งแบบสแตนด์อโลน คำสั่ง "su" ให้คุณเปลี่ยนสิทธิ์ของผู้ใช้ที่ sudo ยกระดับคุณได้

    แม้ว่า sudo จะยกระดับคุณให้เป็นรูทชั่วคราว su เปลี่ยนคุณเป็นผู้ใช้รายอื่นที่มีสิทธิ์ที่เหมาะสม นั่นอาจดูเหมือนเป็นความแตกต่างที่ไม่สำคัญ แต่มีเหตุผลที่ดีที่จะเปลี่ยนบัญชีที่ sudo ยกระดับผู้ใช้ให้เป็น

    ก่อนอื่น การเปลี่ยนบัญชีหมายความว่าผู้ใช้ทั่วไปไม่ทราบรหัสผ่านรูท ประการที่สอง มีบันทึกของคำสั่ง sudo ทั้งหมด ซึ่งหมายความว่าผู้ดูแลระบบ (รูท) สามารถค้นหาว่าใครเป็นผู้ออกคำสั่ง su

    ไวยากรณ์สำหรับ su นั้นเหมือนกับ sudo:

    Su USERNAME -c คำสั่ง

    แทนที่ USERNAME ด้วยผู้ใช้ที่ต้องการเพื่อเรียกใช้คำสั่งและ COMMAND ด้วยคำสั่ง Linux ที่คุณต้องการดำเนินการ

    หากคุณต้องการเรียกใช้หลายคำสั่งในฐานะผู้ใช้อื่น ให้ใช้:

    Su USER

    แทนที่ USER ด้วยข้อมูลประจำตัวของบัญชีผู้ใช้ที่ต้องการ

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

    ขีดจำกัดเวลาของซูโด

    Sudo ใน Linux คืออะไรและใช้งานอย่างไร

    ครั้งแรกที่คุณใช้คำสั่ง sudo คุณจะต้องป้อนรหัสผ่าน จากนั้น รหัสผ่านนั้นจะมีอายุ 15 นาที คุณสามารถเปลี่ยนค่าเริ่มต้นนี้ได้โดยเรียกใช้คำสั่ง sudo visudo และเปลี่ยน "timestamp_timeout=" เป็นค่าที่ยาวขึ้นหรือสั้นลง อย่างไรก็ตาม เราไม่แนะนำให้คุณทำเช่นนี้ เว้นแต่คุณจะมีเหตุผลที่ดีที่จะขยายหรือย่นระยะเวลาที่รหัสผ่าน sudo ยังคงใช้ได้

    สวิตช์ตัวเลือก Sudo

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

    • -h แสดงข้อมูลไวยากรณ์และคำสั่งสำหรับ sudo
    • -V แสดงเวอร์ชันปัจจุบันสำหรับ sudo บนเครื่องของคุณ
    • -v รีเฟรชการจำกัดเวลา sudo รีสตาร์ทนาฬิกา
    • -l แสดงรายการสิทธิ์ของผู้ใช้
    • -k ฆ่าเซสชัน sudo ปัจจุบันทันที โดยจะลบสิทธิ์ระดับสูง

    มีตัวเลือกเพิ่มเติมมากมายใน sudo และคุณสามารถดูได้ทั้งหมดโดยใช้สวิตช์ -h ตัวแรกที่แสดงด้านบน

    Sudo ใน Linux คืออะไรและใช้งานอย่างไร

    ภาพหน้าจอด้านบนเป็นผลลัพธ์เมื่อคุณใช้ตัวเลือกความช่วยเหลือ

    คำสั่ง Sudo ที่มีประโยชน์

    คำสั่งใดที่เปิดใช้งานโดย sudo ผู้ใช้ Linux ทุกคนควรรู้ เราได้ครอบคลุม sudo apt-get update แล้ว แต่โปรดทราบสิ่งเหล่านี้ด้วย:

    • Sudo apt-get upgrade จะอัปเกรดแพ็คเกจที่ติดตั้งทั้งหมด
    • Sudo apt-get install ติดตั้งซอฟต์แวร์ที่คุณเลือก เพียงเปลี่ยนชื่อแพ็คเกจเป็นชื่อที่คุณต้องการติดตั้ง
    • หากคุณไม่ทราบชื่อแพ็คเกจ ให้ใช้ dpkg –list .
    • ถ้าคุณต้องการลบแพ็คเกจที่ติดตั้งออกจากเทอร์มินัล ให้ใช้ sudo apt-get remove (แทนที่ชื่อแพ็คเกจที่เป็นปัญหาอีกครั้ง)

    คำสั่งเหล่านี้น่าจะเป็นคำสั่ง sudo แรกที่คุณต้องใช้ แต่ดังที่คุณได้เรียนรู้ข้างต้น คำสั่งใดๆ ก็ตามสามารถทำตาม sudo ได้ แต่คุณควรใช้เฉพาะคำสั่งที่ต้องการสิทธิพิเศษที่สูงกว่าเท่านั้น