Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบ >> Linux

Sudo ใน Linux

แอปพลิเคชัน Linux บางอย่างต้องการสิทธิ์พิเศษ (elevated privileges) เพื่อรัน ใช้คำสั่ง su เพื่อสลับไปเป็น superuser (root) หรือคุณสามารถใช้คำสั่ง sudo แทนได้

วิธีการทำงาน

แม้จะทำงานต่างกัน คำสั่ง sudo จึง analogous (คล้ายคลึง) กับ confirmation prompt ที่คุณบางครั้งเห็นใน Windows หรือ macOS เมื่อถูกถามในระบบปฏิบัติการเหล่านั้นว่าต้องการดำเนินการต่อหรือไม่ คุณจะเจอกับปุ่มยืนยันว่าคุณต้องการรัน action ด้วยสิทธิ์พิเศษ และบางครั้งอาจต้องใส่รหัสผ่าน admin

Linux ใช้คำสั่ง sudo เป็นกำแพงระหว่างงานทั่วไปและงาน administrative เพื่อให้คุณต้องยืนยันว่าคุณต้องการทำสิ่งที่คำสั่งจะ execute และว่าคุณได้รับอนุญาตให้ทำงานนั้น แม้แตกต่างกันก็ตาม แต่ค่อนข้างคล้ายกับคำสั่ง run as ใน Windows เหมือนใน Linux คำสั่ง run as ทำงานจากบรรทัดคำสั่งเพื่อเปิดไฟล์ด้วย credentials จากผู้ใช้บางคน มักเป็น admin

Sudo ใน Linux

หากคุณไม่แน่ใจว่ากำลังใช้ sudo หรือ su ให้ดู trailing character บนบรรทัดคำสั่ง หากเป็นเครื่องหมายปอนด์ (#) แสดงว่าคุณล็อกอินเป็น root อยู่

เกี่ยวกับคำสั่ง Sudo

เมื่อคุณวาง sudo หน้าคำสั่งใดๆ ในเทอร์มินัล คำสั่งนั้นจะรันด้วยสิทธิ์พิเศษ ซึ่งเป็นเหตุผลที่มันเป็นโซลูชันสำหรับ privilege-related errors

Sudo ทำงานแบบ per-command basis ฟีเจอร์รวมถึงความสามารถในการจำกัดคำสั่งที่ผู้ใช้สามารถรันได้แบบ per-host basis, การ logging อย่างละเอียดของแต่ละคำสั่งเพื่อให้ audit trail ชัดเจนว่าใครทำอะไร, configurable timeout ของคำสั่ง sudo และความสามารถในการใช้ไฟล์การตั้งค่าเดียวกันบนหลายเครื่อง

ตัวอย่างคำสั่ง Sudo

Standard user ที่ไม่มีสิทธิ์ admin อาจใส่คำสั่งใน Linux เพื่อติดตั้งซอฟต์แวร์:

Sudo ใน Linux
dpkg -i software.deb

คำสั่งคืนค่า error เพราะคนที่ไม่มีสิทธิ์ admin ไม่ได้รับอนุญาตให้ติดตั้งซอฟต์แวร์ อย่างไรก็ตาม คำสั่ง sudo มาช่วยแทน คำสั่งที่ถูกต้องสำหรับผู้ใช้นี้คือ:

Sudo ใน Linux
sudo dpkg -i software.deb

ครั้งนี้ซอฟต์แวร์ติดตั้งสำเร็จ

คุณยังสามารถตั้งค่า Linux เพื่อป้องกันไม่ให้บางผู้ใช้ใช้คำสั่ง sudo ได้