У сучасній системі Ubuntu (та багатьох інших дистрибутивах GNU / Linux) виправити пошкоджений sudoers
файл насправді досить просто і не потребує перезавантаження, використання живого компакт-диска або фізичного доступу до машини.
Для цього за допомогою SSH увійдіть до машини та запустіть команду pkexec visudo
. Якщо у вас є фізичний доступ до машини, SSH непотрібний; просто відкрийте вікно терміналу і запустіть цю pkexec
команду.
Якщо припустити, що ви (або якийсь інший користувач) уповноважені запускати програми, як і root
у PolicyKit, ви можете ввести свій пароль, і тоді він запуститься visudo
як root
, і ви можете виправити свій /etc/sudoers
.
Якщо вам потрібно відредагувати один із файлів конфігурації в /etc/sudoers.d
(що в цій ситуації нечасто, але можливо), використовуйте .pkexec visudo -f /etc/sudoers.d/filename
Якщо у вас пов’язана ситуація, коли вам потрібно виконати додаткові команди системного адміністрування як root, щоб вирішити проблему (також нечасто за цієї обставини, але поширене в інших), ви можете запустити інтерактивну оболонку кореня pkexec bash
. Взагалі кажучи, будь-яка не графічна команда, з якою ви будете запускатися, sudo
може pkexec
замість цього запускатися .
(Якщо в системі, уповноваженій запускати програми, як root
у політиці PolicyKit, є більше одного облікового запису користувача , то для будь-якого з цих дій вам буде запропоновано вибрати, який саме ви хочете використовувати, перш ніж запитати пароль.)
Якщо це не працює - наприклад, якщо немає користувачів, яким дозволено запускати програми як root через PolicyKit, - завантажте його з живого компакт-диска Ubuntu (наприклад, з компакт-диска, який ви, ймовірно, використовували для встановлення Ubuntu) та змонтуйте файлову систему для встановлена система. Ви можете зробити це, запустивши
sudo parted -l
для перегляду своїх розділів - мабуть, є лише один розділ ext4, і це коренева файлова система.
Припустимо, коренева файлова система встановленої системи Ubuntu увімкнена / dev / sda1. Тоді ви могли змонтувати його sudo mount /dev/sda1 /mnt
. Потім можна редагувати файл судорів встановленої системи за допомогою sudo nano -w /mnt/etc/sudoers
. Або, ще краще, ви можете відредагувати його
sudo visudo -f /mnt/etc/sudoers
(що не дозволить вам зберегти файл sudoers з неправильним синтаксисом).