ผู้ใช้งาน GNU/Linux มักจะเจอปัญหาเมื่อต้องรันคำสั่งที่ต้องการสิทธิ์ root (ซูเปอร์ยูเซอร์) โดยเฉพาะตอนติดตั้งอัปเดตหรือแอปพลิเคชันใหม่จากบรรทัดคำสั่ง ข้อผิดพลาด "unable to lock the administration directory" มักจะพร้อมกับคำถามที่ทำให้หงุดหงิด: "are you root?"
การได้รับสิทธิ์ root เหมือนกับการใช้ "Command Prompt แบบผู้ดูแลระบบ" ใน Windows แต่ทำได้ง่ายกว่ามาก เพราะแค่คำสั่งเดียวก็ให้สิทธิ์เต็มๆ โดยไม่ต้องเปิดหน้าต่างใหม่ ในกรณีส่วนใหญ่ คุณสามารถแก้ไขข้อผิดพลาดนี้ได้ทันทีด้วยเพียงไม่กี่ปุ่ม
วิธีที่ 1: ใช้ sudo นำหน้าคำสั่งใน Linux
หากคุณเจอข้อความผิดพลาดขณะทำงานด้านระบบ เช่น ติดตั้งแพ็กเกจใหม่ ไม่ว่าจะรันคำสั่งกี่ครั้งหรือใช้ชื่อแพ็กเกจอะไร ก็ยังจะเจอข้อความนี้อยู่ดี

ลองพิมพ์ sudo นำหน้าคำสั่งที่คุณกำลังรันแทน เช่น ถ้าคุณพยายามติดตั้งแพ็กเกจบน Distro ที่ใช้ apt-get ให้พิมพ์ sudo apt-get install <package_name> โดยแทน <package_name> ด้วยชื่อซอฟต์แวร์ที่ต้องการติดตั้ง
สังเกตว่าตอนนี้ระบบจะขอรหัสผ่าน หลังจากกรอกแล้ว ทุกอย่างจะทำงานปกติ คุณไม่ต้องเปิดหน้าต่างใหม่เพื่อเข้าสู่ command prompt แบบขยายสิทธิ์เหมือน Windows คำสั่งถัดไปที่คุณพิมพ์จะกลับมาทำงานในระดับผู้ใช้ทั่วไปอีกครั้ง หากต้องการรันคำสั่งอื่นด้วยสิทธิ์ซูเปอร์ยูเซอร์ (เช่น ติดตั้งแพ็กเกจเพิ่ม) ให้พิมพ์ sudo นำหน้าอีกครั้ง
หากวิธีนี้แก้ปัญหาได้ คุณไม่ต้องทำอะไรเพิ่มเติม นี่ไม่ใช่ "ปัญหา" จริงๆ แต่เป็นหลักการปกติของผู้ใช้ GNU/Linux มืออาชีพ เพื่อป้องกันการเข้าถึงที่ไม่ได้รับอนุญาต
วิธีที่ 2: รัน sudo แบบกราฟิกอล (GUI)
แม้ sudo จะใช้ได้ดีกับโปรแกรมบรรทัดคำสั่ง แต่บางครั้งคุณอาจต้องการรันโปรแกรมกราฟิกอล (GUI) เป็นซูเปอร์ยูเซอร์ เนื่องจาก root สามารถทำอะไรกับระบบได้หมด ควรระวังเมื่อใช้ sudo แต่บางครั้งจำเป็นต้องใช้สิทธิ์นี้เพื่อทำงานกับซอฟต์แวร์ทำความสะอาดระบบอย่าง BleachBit
แทนที่จะใช้ sudo นำหน้าคำสั่ง ให้พิมพ์ gksu นำหน้าแทน จะมีกล่องเล็กๆ ขอรหัสผ่านขึ้นมา หลังจากกรอกแล้ว โปรแกรมจะทำงานปกติ อย่าตกใจถ้าหน้าต่างของแอปที่รันไม่ตรงกับธีมของคุณ — บัญชี root มักไม่มีการตั้งค่าสีสันที่สวยงาม
คุณอาจลอง kdesu หากใช้ระบบที่รัน K Desktop Environment (KDE) ลองวาง kdesu นำหน้าคำสั่ง GUI ที่ต้องการรันเป็น root หากเจอข้อผิดพลาดเรื่อง gksu หรือทราบว่ากำลังใช้ Plasma Desktop
สังเกตว่าจะมีข้อความเตือนเกี่ยวกับว่า root user อาจทำลายระบบได้เมื่อรันคำสั่งเหล่านี้ ซึ่งเป็นการเตือนอีกครั้งว่าควรระมัดระวังเมื่อทำเช่นนี้เพื่อไม่ให้ระบบ Linux เสียหาย
วิธีที่ 3: เข้าสู่ผู้ใช้ root โดยตรง
บนบาง Distribution สามารถรัน su - เพื่อกลายเป็นผู้ใช้ root หลังจากใส่รหัสผ่าน วิธีนี้ใช้ได้กับ Distro อย่าง Fedora และ CentOS ที่ไม่ได้ปิดบัญชี root สังเกตว่า prompt จะเปลี่ยนจากสัญลักษณ์ $ เป็น # เพื่อแสดงว่าตอนนี้มีสิทธิ์ซูเปอร์ยูเซอร์ root แล้ว
บาง Distro เช่น Ubuntu และตัวแปรต่างๆ ที่พัฒนามาจากมัน ไม่รองรับวิธีนี้ ให้ใช้ sudo -i แทนเพื่อรับ root login shell ไม่ว่าจะวิธีไหน คุณก็ไม่ต้องพิมพ์ sudo นำหน้าคำสั่งบริหารเมื่อล็อกอินแบบนี้แล้ว แต่โปรดจำว่า "อำนาจมาก ความรับผิดชอบมาก" หากคุณอยู่บนเซิร์ฟเวอร์ ผู้ดูแลระบบอาจมีกฎเกณฑ์เกี่ยวกับสิ่งที่ทำได้/ทำไม่ได้กับบัญชี root
ผู้ใช้เครื่องของตัวเองแค่ควรระวังอย่าลบสิ่งที่ไม่ได้สร้างขึ้นเอง