ผู้ใช้ Linux มือใหม่ (โดยเฉพาะ Ubuntu) จะรู้จักคำสั่ง Sudo เร็วหรือช้า หลายคนใช้แค่เพื่อข้ามข้อความ "permission denied" — แต่ Sudo ทำได้มากกว่านั้นมาก
เกี่ยวกับ Sudo
ความเข้าใจผิดทั่วไปคือ Sudo ใช้เพื่อให้สิทธิ์ root แก่ผู้ใช้ทั่วไป จริงๆ แล้วคำสั่ง Sudo ให้คุณรันคำสั่งในฐานะ ผู้ใช้รายใดก็ได้ โดยค่าเริ่มต้นคือ root
วิธีให้สิทธิ์ Sudo แก่ผู้ใช้
ผู้ใช้ Ubuntu มักถือว่าสิทธิ์ Sudo เป็นเรื่องปกติ เพราะตอนติดตั้งจะสร้าง Default user ที่มีสิทธิ์ Sudo อัตโนมัติ แต่ถ้าใช้ Distribution อื่น หรือมีผู้ใช้อื่นใน Ubuntu ผู้ใช้นั้นอาจต้องได้รับสิทธิ์ Sudo ก่อน
ควรให้สิทธิ์ Sudo เฉพาะผู้ดูแลระบบ (System Administrators) ไม่มากกว่านี้ ผู้ใช้ควรได้รับสิทธิ์เท่าที่จำเป็นสำหรับงานของตน
เพื่อให้สิทธิ์ Sudo ให้เพิ่มผู้ใช้เข้าไปในกลุ่ม Sudo ตอนสร้างผู้ใช้ ใช้คำสั่ง:
sudo useradd -m -G sudo
คำสั่งนี้สร้างผู้ใช้พร้อมโฟลเดอร์ Home และเพิ่มเข้าไปในกลุ่ม Sudo ถ้าผู้ใช้มีอยู่แล้ว ให้เพิ่มเข้าไปในกลุ่ม Sudo ด้วย:
sudo usermod -a -G sudo
เทคนิค Sudo เมื่อลืมพิมพ์ Sudo นำหน้า
นี่คือหนึ่งในเทคนิค Terminal จากนักเชี่ยวชาญ — สำหรับข้ามข้อความ "permission denied" หากคำสั่งยาว คุณสามารถกดขึ้นไปใน History แล้วเติม Sudo นำหน้า พิมพ์ใหม่ทั้งหมด หรือใช้คำสั่งง่ายๆ นี้ ซึ่งจะรันคำสั่งก่อนหน้าด้วย Sudo:
sudo !!
วิธีสลับเป็น Root User ด้วย Sudo
คำสั่ง Su ใช้สลับบัญชีผู้ใช้ รัน Su อย่างเดียวจะสลับไปยัง Superuser ดังนั้นเพื่อสลับเป็น Superuser ด้วย Sudo ให้รัน:
sudo su
วิธีรันคำสั่ง Sudo ในพื้นหลัง (Background)
หากต้องการรันคำสั่งที่ต้องการสิทธิ์ Superuser ในพื้นหลัง ใช้สวิตช์ -b กับ Sudo:
sudo -b
หมายเหตุ: หากคำสั่งต้องการการโต้ตอบจากผู้ใช้ จะไม่ทำงาน
วิธีทางเลือกคือเพิ่ม Ampersand (&) ท้ายคำสั่ง:
sudo &
วิธีแก้ไขไฟล์ด้วยสิทธิ์ Sudo
วิธีชัดเจนคือรัน Editor เช่น GNU nano ด้วย Sudo:
sudo nano
หรือใช้ไวยากรณ์:
sudo -e
วิธีรันคำสั่งในฐานะผู้ใช้คนอื่นด้วย Sudo
Sudo สามารถรันคำสั่งในฐานะผู้ใช้รายใดก็ได้ ตัวอย่าง: ล็อกอินเป็น "john" อยากรันคำสั่งเป็น "terry" ให้ใช้:
sudo -u terry
ลองทดสอบ: สร้างผู้ใช้ "test" แล้วรันคำสั่ง Whoami:
sudo -u test whoami
วิธีต่ออายุข้อมูลรับรอง Sudo
ตอนรันคำสั่งด้วย Sudo จะถามรหัสผ่าน หลังจากนั้นช่วงเวลาหนึ่ง คุณสามารถรันคำสั่ง Sudo อื่นๆ ได้โดยไม่ต้องพิมพ์รหัสผ่านอีก หากต้องการต่ออายุช่วงเวลานั้น ให้รัน:
sudo -v
ข้อมูลเพิ่มเติมเกี่ยวกับ Sudo
Sudo มีความสามารถมากกว่าการรันคำสั่งในฐานะ Superuser เพียงอย่างเดียว ดูคู่มือ Sudo Manual เพื่อดูสวิตช์อื่นๆ ที่ใช้ได้