1. ภาพรวมและบทบาทของบัญชี root ใน Ubuntu

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

เหตุผลที่บัญชี root ถูกปิดใช้งานโดยค่าเริ่มต้น

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

2. วิธีเปิดใช้งานบัญชี root

หากจำเป็นต้องเข้าถึงบัญชี root โดยตรงสำหรับการจัดการระบบบางอย่าง คุณสามารถเปิดใช้งานได้ตามขั้นตอนต่อไปนี้ แต่ควรดำเนินการด้วยความระมัดระวัง เนื่องจากมีความเสี่ยงด้านความปลอดภัย

ขั้นตอนการเปิดใช้งานบัญชี root

     

  1. การตั้งรหัสผ่าน
    เปิดเทอร์มินัลและตั้งรหัสผ่านสำหรับ root ด้วยคำสั่งต่อไปนี้
   sudo passwd root
     

  • เมื่อมีข้อความแจ้ง ให้ตั้งรหัสผ่านสำหรับบัญชี root เท่านี้คุณก็สามารถเข้าสู่ระบบในฐานะ root ได้แล้ว
     

  1. อนุญาตการเข้าสู่ระบบ GUI (หากจำเป็น)
    หากต้องการเข้าสู่ระบบในฐานะผู้ใช้ root ในสภาพแวดล้อม GUI ให้กำหนดค่าไฟล์ /etc/gdm3/custom.conf ดังนี้
   [security]
   AllowRoot=true
     

  • การเปลี่ยนแปลงการตั้งค่านี้แนะนำให้ทำเฉพาะในกรณีที่จำเป็นต้องทำงานในสภาพแวดล้อมเดสก์ท็อปเท่านั้น โดยทั่วไปแล้ว แนะนำให้ทำงานผ่าน CLI (Command Line Interface)
     

  1. ข้อควรระวังหลังการเปิดใช้งาน
    การเปิดใช้งานบัญชี root จะเพิ่มความเสี่ยงต่อความผิดพลาดที่อาจส่งผลกระทบต่อระบบทั้งหมด และความเสี่ยงจากการเข้าถึงโดยไม่ได้รับอนุญาต ดังนั้น การจัดการในชีวิตประจำวันควรกระทำผ่าน sudo

3. วิธีปิดใช้งานการเข้าสู่ระบบ root

การปิดใช้งานบัญชี root ช่วยลดความเสี่ยงจากการเข้าถึงระบบโดยไม่ได้รับอนุญาต ดำเนินการตามขั้นตอนต่อไปนี้เพื่อปิดใช้งานการเข้าสู่ระบบบัญชี root

ขั้นตอนการปิดใช้งานบัญชี root

     

  1. ล็อคบัญชี root
    ป้อนคำสั่งต่อไปนี้ในเทอร์มินัลเพื่อปิดใช้งานบัญชี root
   sudo passwd -l root
     

  • คำสั่งนี้จะล็อคบัญชี root ทำให้ไม่สามารถเข้าสู่ระบบในฐานะ root ได้
     

  1. ประโยชน์ของการปิดใช้งาน
     

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

4. ความเสี่ยงด้านความปลอดภัยและการแก้ไขสำหรับบัญชี root

การเปิดใช้งานบัญชี root ช่วยเพิ่มความสะดวกสบาย แต่ก็เพิ่มความเสี่ยงด้านความปลอดภัยด้วยเช่นกัน ด้านล่างนี้คือตัวอย่างความเสี่ยงที่เฉพาะเจาะจงและการแก้ไขที่แนะนำ

ตัวอย่างความเสี่ยงด้านความปลอดภัย

     

  • การขโมยรหัสผ่าน: หากไม่ได้ตั้งรหัสผ่านที่รัดกุม บัญชีอาจถูกนำไปใช้ในทางที่ผิดได้
  •  

  • การโจมตีผ่านการเข้าถึงระยะไกล: หากบัญชี root เปิดใช้งานอยู่ ก็มีแนวโน้มที่จะตกเป็นเป้าหมายของการโจมตีระยะไกลได้ง่ายขึ้น

มาตรการรักษาความปลอดภัย

     

  1. การตั้งรหัสผ่านที่รัดกุม
    ตั้งรหัสผ่านที่ซับซ้อนโดยผสมผสานตัวอักษรพิมพ์ใหญ่ พิมพ์เล็ก ตัวเลข และสัญลักษณ์ และเปลี่ยนเป็นประจำ
  2.  

  3. การจำกัดการเข้าถึง SSH
    หากต้องการห้ามการเข้าถึง root ผ่าน SSH ให้เปิดไฟล์ /etc/ssh/sshd_config และเพิ่มการตั้งค่าต่อไปนี้
   PermitRootLogin no
     

  • หลังจากตั้งค่าแล้ว ให้รีสตาร์ทบริการ SSH การตั้งค่านี้จะห้ามการเข้าสู่ระบบ root จากระยะไกล และลดความเสี่ยงจากการเข้าถึงโดยไม่ได้รับอนุญาต
     

  1. การตรวจสอบบันทึกอย่างละเอียด
    ตรวจสอบไฟล์ auth.log (โดยปกติคือ /var/log/auth.log) เป็นประจำเพื่อตรวจสอบการใช้งานบัญชี root เมื่อพบการเข้าถึงที่ผิดปกติ ให้เปลี่ยนรหัสผ่านทันที และป้องกันการเข้าถึงโดยไม่ได้รับอนุญาต

5. การใช้ pkexec ในแอปพลิเคชัน GUI

เมื่อจำเป็นต้องใช้สิทธิ์ root ในแอปพลิเคชัน GUI การใช้ pkexec แทน gksudo ช่วยให้สามารถเรียกใช้ได้อย่างปลอดภัยและเสถียร pkexec เป็นวิธีที่ปลอดภัยในการเริ่มต้นแอปพลิเคชันด้วยสิทธิ์ root โดยลดผลกระทบจากตัวแปรสภาพแวดล้อมและสิทธิ์ความเป็นเจ้าของไฟล์

ตัวอย่างการใช้ pkexec

เปิดโปรแกรมแก้ไขข้อความด้วยสิทธิ์ root ด้วยคำสั่งต่อไปนี้

pkexec gedit /etc/fstab
     

  • วิธีนี้จะช่วยลดความเสี่ยงที่ไฟล์การตั้งค่าของแอปพลิเคชันจะถูกเปลี่ยนแปลงโดยไม่ตั้งใจในไดเรกทอรีโฮมของผู้ใช้

6. การแก้ไขปัญหาที่เกี่ยวข้องกับบัญชี root

หากเกิดปัญหาเกี่ยวกับบัญชี root ขั้นตอนต่อไปนี้อาจเป็นประโยชน์

วิธีรีเซ็ตรหัสผ่าน root

     

  • การรีเซ็ตในโหมดผู้ใช้คนเดียว (Single User Mode)
  •  

  • หากไม่ทราบรหัสผ่าน root ให้เริ่มระบบในโหมดผู้ใช้คนเดียว และรีเซ็ตรหัสผ่านด้วยคำสั่ง passwd
   passwd root

วิธีการแก้ไขไฟล์ sudoers

     

  • การใช้คำสั่ง visudo
    หากมีการตั้งค่าผิดพลาดใน sudo ให้แก้ไขไฟล์ /etc/sudoers ด้วยคำสั่ง visudo คำสั่ง visudo ช่วยให้สามารถแก้ไขไฟล์ sudoers ได้อย่างปลอดภัย เพื่อป้องกันข้อผิดพลาดทางไวยากรณ์
   sudo visudo

7. คำถามที่พบบ่อย (FAQ)

     

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

  • Q2: การปิดใช้งานบัญชี root จะเปลี่ยนแปลงอะไรบ้าง?
    A: คุณจะไม่สามารถเข้าสู่ระบบโดยตรงในฐานะ root ได้ แต่ยังคงสามารถได้รับสิทธิ์ผู้ดูแลระบบด้วยคำสั่ง sudo การปิดใช้งานจะช่วยเสริมความปลอดภัยและลดความเสี่ยงจากการเข้าถึงโดยไม่ได้รับอนุญาต
  •  

  • Q3: ความแตกต่างระหว่าง pkexec และ sudo คืออะไร?
    A: pkexec เป็นคำสั่งที่แนะนำเมื่อใช้สิทธิ์ root กับแอปพลิเคชัน GUI และจะทำงานโดยไม่เปลี่ยนแปลงสิทธิ์ความเป็นเจ้าของไฟล์ ในขณะที่ sudo ใช้สำหรับ CLI เป็นหลัก ดังนั้น pkexec จึงเหมาะสำหรับการใช้กับแอปพลิเคชัน GUI มากกว่า