PlusMagi's Blog By Pitt Phunsanit Linux Linux: sudo คำสั่ง “สิทธิ์พิกัด”

Linux: sudo คำสั่ง “สิทธิ์พิกัด”

หากคุณก้าวเข้าสู่โลกของ Linux ไม่ว่าจะเป็น Ubuntu, Debian หรือ CentOS คำสั่งหนึ่งที่คุณจะเจอแทบทุกครั้งที่มีการติดตั้งซอฟต์แวร์หรือแก้ไขระบบคือ sudo

คำว่า sudo ย่อมาจาก “Substitute User DO” ( หรือที่หลายคนจำว่า SuperUser DO ) มันคือโปรแกรมที่อนุญาตให้ผู้ใช้ทั่วไปรันคำสั่งด้วยสิทธิ์ของ Root ( ผู้ดูแลระบบสูงสุด ) หรือผู้ใช้อื่นตามที่กำหนดไว้ในไฟล์คอนฟิก โดยไม่ต้องสลับหน้าจอไปเป็น Root โดยตรง


ทำไมต้องใช้ sudo ? ( ความปลอดภัยเป็นหลัก )

ในสมัยก่อน ผู้ดูแลระบบอาจจะล็อกอินเข้าใช้งานในฐานะ root ตลอดเวลา ซึ่งมีความเสี่ยงสูงมาก เพราะ

  • ความผิดพลาดทำลายล้าง: คำสั่งที่พิมพ์ผิดเพียงครั้งเดียวอาจลบไฟล์ระบบทั้งหมดได้ทันที
  • ช่องโหว่: หากแฮกเกอร์เข้าถึง User ที่เป็น root ได้ พวกเขาจะได้อำนาจเบ็ดเสร็จ

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


วิธีใช้งาน sudo เบื้องต้น

รูปแบบการใช้งานนั้นง่ายมาก เพียงเติม sudo ไว้หน้าคำสั่งที่ต้องการ
sudo [คำสั่งที่ต้องการรัน]
ตัวอย่างการใช้

  • อัปเดตระบบ
    sudo apt update
  • ติดตั้งโปรแกรม
    sudo apt install nginx
  • แก้ไขไฟล์ระบบ
    sudo nano /etc/fstab

Note: เมื่อพิมพ์รหัสผ่านใน Terminal คุณจะไม่เห็นตัวอักษรหรือดอกจันปรากฏขึ้น ( เป็นฟีเจอร์ด้านความปลอดภัย ) ให้พิมพ์ให้ครบแล้วกด Enter ได้เลย


คำสั่งที่เกี่ยวข้องที่น่าสนใจ

  • sudo -i หรือ sudo su -
    ใช้เพื่อเปลี่ยนสถานะเป็น root แบบถาวร ( จนกว่าจะ exit ) เหมาะสำหรับตอนที่ต้องทำหลายคำสั่งต่อเนื่องกัน
  • sudo !!
    ( อ่านว่า sudo แบง-แบง ) ใช้เมื่อคุณพิมพ์คำสั่งยาว ๆ แล้วลืมใส่ sudo ไว้ข้างหน้า เพียงพิมพ์คำสั่งนี้ ระบบจะรันคำสั่งล่าสุดให้ใหม่โดยเติม sudo ให้โดยอัตโนมัติ
  • sudo -k
    สั่งให้ระบบ “ลืม” รหัสผ่านที่เพิ่งกรอกไป เพื่อให้การรัน sudo ครั้งต่อไปต้องถามรหัสผ่านใหม่ทันที

การจัดการสิทธิ์ ( ไฟล์ /etc/sudoers )

ไม่ใช่ผู้ใช้ทุกคนจะใช้ sudo ได้ ระบบจะตรวจสอบจากไฟล์ที่ชื่อว่า /etc/sudoers

  • บน Ubuntu/Debian: ผู้ใช้ที่อยู่ในกลุ่ม sudo จะสามารถใช้คำสั่งนี้ได้
  • บน CentOS/RHEL: ผู้ใช้ที่อยู่ในกลุ่ม wheel จะได้รับสิทธิ์นี้

หากต้องการเพิ่มเพื่อนหรือผู้ใช้ใหม่ให้ใช้ sudo ได้ (ในฐานะ admin) สามารถใช้คำสั่ง
sudo usermod -aG sudo username


ข้อควรระวัง ( Best Practices )

  1. คิดก่อน Enter: เมื่อใช้ sudo ระบบจะเชื่อใจคุณ 100% ดังนั้นต้องตรวจสอบคำสั่งให้ดี โดยเฉพาะคำสั่งประเภท rm -rf ( การลบ )
  2. สำรองข้อมูลเสมอ: ก่อนจะ sudo ไปแก้ไขไฟล์คอนฟิกสำคัญ ( เช่น Nginx หรือ Database ) ควรทำ Backup หรือ Snapshot ระบบไว้ก่อนเสมอ เพราะถ้าคอนฟิกผิดพลาด ระบบอาจล่มหรือบริการหยุดทำงานได้
  3. อย่าใช้ sudo กับคำสั่งที่ไม่จำเป็น: เช่น การสร้างไฟล์เอกสารทั่วไป หรือการรันสคริปต์ที่ไม่เกี่ยวข้องกับระบบ เพื่อป้องกันการเผลอเปลี่ยนเจ้าของไฟล์ ( Ownership ) เป็น root โดยไม่ตั้งใจ

sudo เป็นเครื่องมือที่ทรงพลังและช่วยให้การบริหารจัดการ Linux ปลอดภัยขึ้นอย่างมาก การฝึกใช้ให้คล่องและเข้าใจหน้าที่ของมัน จะช่วยให้คุณดูแลระบบได้อย่างมืออาชีพครับ


อ่านเพิ่มเติม

Leave a Reply