1. ภาพรวมและบทบาทของบัญชี root ใน Ubuntu
“บัญชี root” ใน Ubuntu คือบัญชีพิเศษที่มีสิทธิ์สูงสุดในการเข้าถึงระบบทั้งหมด ทำให้สามารถจัดการระบบ เปลี่ยนการตั้งค่า และจัดการไฟล์ในระบบได้ อย่างไรก็ตาม โดยค่าเริ่มต้น Ubuntu จะปิดการใช้งานการเข้าสู่ระบบโดยตรงด้วยบัญชี root และใช้วิธีการมอบสิทธิ์ผู้ดูแลระบบชั่วคราวผ่านคำสั่ง sudo
แทน
เหตุผลที่บัญชี root ถูกปิดใช้งานโดยค่าเริ่มต้น
เหตุผลที่ Ubuntu ปิดการใช้งานบัญชี root โดยค่าเริ่มต้นก็เพื่อลดความเสี่ยงจากการทำงานผิดพลาดและภัยคุกคามด้านความปลอดภัย การใช้คำสั่ง sudo
ช่วยให้คุณได้รับสิทธิ์ผู้ดูแลระบบชั่วคราวและดำเนินการที่จำเป็นได้ ซึ่งจะช่วยลดความเสี่ยงจากการทำงานผิดพลาดที่อาจส่งผลกระทบต่อระบบทั้งหมด และเพิ่มความปลอดภัย
2. วิธีเปิดใช้งานบัญชี root
หากจำเป็นต้องเข้าถึงบัญชี root โดยตรงสำหรับการจัดการระบบบางอย่าง คุณสามารถเปิดใช้งานได้ตามขั้นตอนต่อไปนี้ แต่ควรดำเนินการด้วยความระมัดระวัง เนื่องจากมีความเสี่ยงด้านความปลอดภัย
ขั้นตอนการเปิดใช้งานบัญชี root
- การตั้งรหัสผ่าน
เปิดเทอร์มินัลและตั้งรหัสผ่านสำหรับ root ด้วยคำสั่งต่อไปนี้
sudo passwd root
- เมื่อมีข้อความแจ้ง ให้ตั้งรหัสผ่านสำหรับบัญชี root เท่านี้คุณก็สามารถเข้าสู่ระบบในฐานะ root ได้แล้ว
- อนุญาตการเข้าสู่ระบบ GUI (หากจำเป็น)
หากต้องการเข้าสู่ระบบในฐานะผู้ใช้ root ในสภาพแวดล้อม GUI ให้กำหนดค่าไฟล์/etc/gdm3/custom.conf
ดังนี้
[security]
AllowRoot=true
- การเปลี่ยนแปลงการตั้งค่านี้แนะนำให้ทำเฉพาะในกรณีที่จำเป็นต้องทำงานในสภาพแวดล้อมเดสก์ท็อปเท่านั้น โดยทั่วไปแล้ว แนะนำให้ทำงานผ่าน CLI (Command Line Interface)
- ข้อควรระวังหลังการเปิดใช้งาน
การเปิดใช้งานบัญชี root จะเพิ่มความเสี่ยงต่อความผิดพลาดที่อาจส่งผลกระทบต่อระบบทั้งหมด และความเสี่ยงจากการเข้าถึงโดยไม่ได้รับอนุญาต ดังนั้น การจัดการในชีวิตประจำวันควรกระทำผ่านsudo

3. วิธีปิดใช้งานการเข้าสู่ระบบ root
การปิดใช้งานบัญชี root ช่วยลดความเสี่ยงจากการเข้าถึงระบบโดยไม่ได้รับอนุญาต ดำเนินการตามขั้นตอนต่อไปนี้เพื่อปิดใช้งานการเข้าสู่ระบบบัญชี root
ขั้นตอนการปิดใช้งานบัญชี root
- ล็อคบัญชี root
ป้อนคำสั่งต่อไปนี้ในเทอร์มินัลเพื่อปิดใช้งานบัญชี root
sudo passwd -l root
- คำสั่งนี้จะล็อคบัญชี root ทำให้ไม่สามารถเข้าสู่ระบบในฐานะ root ได้
- ประโยชน์ของการปิดใช้งาน
- การปิดใช้งานบัญชี root จะช่วยลดความเสี่ยงจากการเข้าถึงโดยไม่ได้รับอนุญาตและการทำงานผิดพลาดที่อาจส่งผลกระทบต่อระบบได้อย่างมาก การจัดการระบบโดยทั่วไปสามารถทำได้เพียงพอด้วยคำสั่ง
sudo
ดังนั้นความจำเป็นในการเข้าสู่ระบบด้วย root สำหรับงานประจำวันจึงต่ำ
4. ความเสี่ยงด้านความปลอดภัยและการแก้ไขสำหรับบัญชี root
การเปิดใช้งานบัญชี root ช่วยเพิ่มความสะดวกสบาย แต่ก็เพิ่มความเสี่ยงด้านความปลอดภัยด้วยเช่นกัน ด้านล่างนี้คือตัวอย่างความเสี่ยงที่เฉพาะเจาะจงและการแก้ไขที่แนะนำ
ตัวอย่างความเสี่ยงด้านความปลอดภัย
- การขโมยรหัสผ่าน: หากไม่ได้ตั้งรหัสผ่านที่รัดกุม บัญชีอาจถูกนำไปใช้ในทางที่ผิดได้
- การโจมตีผ่านการเข้าถึงระยะไกล: หากบัญชี root เปิดใช้งานอยู่ ก็มีแนวโน้มที่จะตกเป็นเป้าหมายของการโจมตีระยะไกลได้ง่ายขึ้น
มาตรการรักษาความปลอดภัย
- การตั้งรหัสผ่านที่รัดกุม
ตั้งรหัสผ่านที่ซับซ้อนโดยผสมผสานตัวอักษรพิมพ์ใหญ่ พิมพ์เล็ก ตัวเลข และสัญลักษณ์ และเปลี่ยนเป็นประจำ - การจำกัดการเข้าถึง SSH
หากต้องการห้ามการเข้าถึง root ผ่าน SSH ให้เปิดไฟล์/etc/ssh/sshd_config
และเพิ่มการตั้งค่าต่อไปนี้
PermitRootLogin no
- หลังจากตั้งค่าแล้ว ให้รีสตาร์ทบริการ SSH การตั้งค่านี้จะห้ามการเข้าสู่ระบบ root จากระยะไกล และลดความเสี่ยงจากการเข้าถึงโดยไม่ได้รับอนุญาต
- การตรวจสอบบันทึกอย่างละเอียด
ตรวจสอบไฟล์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 มากกว่า