คู่มือนี้แนะนำวิธีตั้งค่า Ubuntu ให้ไม่ต้องพิมพ์รหัสผ่านทุกครั้งที่ใช้ sudo
⚠️ คำเตือน: การปิดรหัสผ่าน sudo ลดความปลอดภัยลงอย่างมาก ห้ามทำบนเครื่องสาธารณะ, ที่ทำงาน, หรือเซิร์ฟเวอร์ เหมาะเฉพาะ Desktop ที่บ้านและเชื่อถือผู้ใช้ทั้งหมด
ขั้นตอนการตั้งค่า
- เปิดไฟล์ sudoers ด้วย visudo:
sudo visudovisudoคือเครื่องมือแก้ไข sudoers ที่ตรวจสอบไวยากรณ์ก่อนบันทึก (ป้องกันล็อกตัวเองนอกระบบ) - เพิ่มบรรทัดท้ายไฟล์:
username ALL=(ALL) NOPASSWD: ALLแทนที่
usernameด้วยชื่อผู้ใช้จริง เช่นcalvin:calvin ALL=(ALL) NOPASSWD: ALL - บันทึกและออกจาก Editor (ใน nano: Ctrl+O Enter, Ctrl+X)
- ทดสอบ: Log out และ log in ใหม่ ลองรัน
sudo apt updateควรไม่ถามรหัสผ่าน
อธิบาย Syntax
user host=(runas) NOPASSWD: commands
username- ผู้ใช้ที่ได้สิทธิ์ALL(host) - ทุกโฮสต์(ALL)(runas) - รันได้เป็น user ใดก็ได้NOPASSWD: ALL- ไม่ต้องรหัสผ่าน สำหรับทุกคำสั่ง
ตัวเลือกปลอดภัยกว่า: เฉพาะคำสั่งบางคำสั่ง
calvin ALL=(ALL) NOPASSWD: /usr/bin/apt, /usr/bin/systemctl
ให้สิทธิ์ passwordless เฉพาะ apt และ systemctl เท่านั้น
ยกเลิกการตั้งค่า
ลบบรรทัดที่เพิ่มใน visudo หรือคอมเมนต์ด้วย #
แนะนำ: หากเบื่อพิมพ์รหัสผ่านบ่อย ให้เพิ่ม Defaults timestamp_timeout=60 ใน sudoers เพื่อขยายเวลาจดจำรหัสผ่านเป็น 60 นาที แทนที่จะปิดสนิท