บนระบบ Ubuntu ที่ทันสมัย (และการกระจาย GNU / Linux อื่น ๆ อีกมากมาย) การแก้ไขsudoersไฟล์ที่เสียหายนั้นค่อนข้างง่ายและไม่ต้องทำการรีบูตโดยใช้ CD สดหรือการเข้าถึงเครื่องจริง
การทำเช่นนี้ผ่านทาง SSH pkexec visudoเข้าสู่ระบบเครื่องและเรียกใช้คำสั่ง หากคุณมีสิทธิ์เข้าถึงเครื่อง SSH นั้นไม่จำเป็น เพียงเปิดหน้าต่าง Terminal และเรียกใช้pkexecคำสั่งนั้น
สมมติว่าคุณ (หรือบางส่วนของผู้อื่น) มีอำนาจที่จะเรียกใช้เป็นโปรแกรมrootที่มี PolicyKit คุณสามารถป้อนรหัสผ่านของคุณและจากนั้นมันจะทำงานvisudoเป็นและคุณสามารถแก้ไขปัญหาของคุณroot/etc/sudoers
หากคุณจำเป็นต้องแก้ไขไฟล์การกำหนดค่าใน/etc/sudoers.d(ซึ่งในเรื่องผิดปกติในสถานการณ์เช่นนี้ แต่เป็นไปได้) การใช้งานpkexec visudo -f /etc/sudoers.d/filename
หากคุณมีสถานการณ์ที่เกี่ยวข้องที่คุณต้องดำเนินการคำสั่งการบริหารระบบเพิ่มเติมเป็นรูทเพื่อแก้ไขปัญหา (เช่นเรื่องผิดปกติในสถานการณ์นี้ แต่พบได้ทั่วไปในคนอื่น) คุณสามารถเริ่มต้นรูทเชลล์แบบโต้ตอบpkexec bashได้ โดยทั่วไปแล้วคำสั่งที่ไม่ใช่กราฟิกใด ๆ ที่คุณเรียกใช้sudoสามารถเรียกใช้ได้ด้วยpkexecแทน
(หากมีบัญชีผู้ใช้มากกว่าหนึ่งบัญชีในระบบที่ได้รับอนุญาตให้เรียกใช้โปรแกรมเช่นเดียวrootกับ PolicyKit จากนั้นสำหรับการกระทำเหล่านี้คุณจะถูกขอให้เลือกบัญชีที่คุณต้องการใช้ก่อนที่จะถูกถามรหัสผ่านของคุณ)
หากไม่ได้ผล - ตัวอย่างเช่นหากไม่มีผู้ใช้ที่ได้รับอนุญาตให้เรียกใช้โปรแกรมเป็นรูทผ่าน PolicyKit - จากนั้นให้บูตจากซีดีสดของ Ubuntu (เช่นซีดีที่คุณอาจเคยติดตั้ง Ubuntu) และติดตั้งระบบไฟล์สำหรับ ติดตั้งระบบ คุณสามารถทำได้โดยการเรียกใช้
sudo parted -lเพื่อดูพาร์ติชันของคุณ - อาจมีเพียงหนึ่งพาร์ติชัน ext4 และนั่นคือระบบไฟล์รูท
สมมติว่าระบบไฟล์รูทของระบบ Ubuntu ติดตั้งอยู่บน / dev / sda1 sudo mount /dev/sda1 /mntจากนั้นคุณสามารถติดตั้งด้วย จากนั้นคุณสามารถแก้ไข sudoers sudo nano -w /mnt/etc/sudoersไฟล์ระบบที่ติดตั้งด้วย หรือดีกว่านั้นคุณสามารถแก้ไขได้ด้วย
sudo visudo -f /mnt/etc/sudoers
(ซึ่งจะป้องกันคุณจากการบันทึกไฟล์ sudoers ด้วยไวยากรณ์ที่ไม่ถูกต้อง)