Я редагував свій /etc/sudoers
файл і зберігав його, але в ньому є синтаксична помилка. Тепер я не можу, sudo vim /etc/sudoers
тому що sudo вважає, що файл sudoers недійсний.
Як я можу це виправити?
Я редагував свій /etc/sudoers
файл і зберігав його, але в ньому є синтаксична помилка. Тепер я не можу, sudo vim /etc/sudoers
тому що sudo вважає, що файл sudoers недійсний.
Як я можу це виправити?
Відповіді:
Завантажте систему в єдиний режим, а потім відредагуйте її.
Ніколи не слід редагувати файл судорів безпосередньо. Використовуйте visudo
- це захистить вас від цих синтаксичних помилок у майбутньому.
Щоб відновитись із цієї ситуації, завантажте в однокористувацький режим і відредагуйте файл, або завантажте його з livecd і зробіть те ж саме.
Як зазначалося в цьому аналогічному питанні про askubuntu , це може спрацювати без перезавантаження в режимі для одного користувача:
pkexec visudo
До речі, якщо у вас є кореневий пароль, просто увійдіть з ним і встановіть його назад таким, яким він був.
chmod 0440 / тощо / sudoers
Це дозволить уникнути завантаження в режимі однокористування або в гіршому випадку, завантаження з livecd.
У моєму випадку я не міг дозволити собі збити сервер.
Якщо у вас встановлено Docker і ваш користувач є членом docker
групи, ви можете легко вийти з цього соління (та деяких інших) без перезавантаження або того, що у вас є:
$ docker run -it --rm -v '/etc/:/root/host.etc/' debian bash
apt-get update && apt-get install [vim|nano|whatever]
cd ~/host.etc/
exit
pkexec
також з якихось причин недоступний, то це забезпечує альтернативний метод, без перезавантаження, що є майже таким же швидким і простим.