Изменен файл sudoers и больше не могу его открыть; не могу открыть файл с помощью root


8

Я изменил настройки в файле sudoers, используя

судо визудо 

и испортил это. Теперь, когда я пытаюсь сделать это снова или открыть любой файл с помощью sudo, я не могу открыть его больше, и я получаю это сообщение об ошибке:

>>> Файл sudoers: синтаксическая ошибка, строка 7 

Что теперь?

Есть ли способ выйти из этой проблемы (отменить настройки), или мне нужно установить свежую копию linux?

Причина, по которой я получил все это, - я нажал «Q», когда мне сказали, что произошла какая-то ошибка, что было очень глупо с моей стороны.

Спасибо.

РЕДАКТИРОВАТЬ

Мой файл sudoers ничем не отличается от обычного файла sudoers. Я просто добавил строку timestamp_timeout = 0 в этот файл, и все эти проблемы возникли. Я сделал то, что предложил Джеймс, и даже удалил эту строку (timestamp_timeout = 0). Я изменил разрешение файла на 0440, которое он запрашивал, и затем загрузился нормально. Затем я получаю то же сообщение об ошибке

sudoers file: syntax error, line 7 
sudo: parse error in /etc/sudoers near line 7
как указано выше.

Что мне теперь делать ??

РЕДАКТИРОВАТЬ 2 Решено

Вот что я сделал:

  1. Загрузка с использованием livecd
  2. Удалить старый файл sudoers
  3. Сделал новый файл sudoers и скопировал все в этот файл, т.е. минимальные настройки конфигурации, которые я, к счастью, сохранил в другом файле
  4. Изменено разрешение файла на 0440
  5. Перезагрузитесь снова нормально с жесткого диска

Ура !!


Вы можете вставить содержимое файла sudoers на www.pastebin.com, и мы посмотрим, возможно, самым быстрым способом.
— Андриоид

Я буду искать пропущенные # в комментариях, пропущенные двоеточия, знаки равенства, обратные косые черты продолжения строки и т. Д.
— Приостановлено до дальнейшего уведомления.

Ответы:


8

Предполагая, что вы не предоставили пользователю root права доступа, самый простой способ это исправить - использовать живой компакт-диск, такой как Knoppix . Загрузите диск. Смонтируйте локальный диск, отредактируйте файл, размонтируйте диск и перезагрузите компьютер.


6

Просто загрузите компьютер в « однопользовательском режиме », выполнив следующие действия:

  1. перезагрузка
  2. Когда Grub запускается, нажмите ESC (или выход)
  3. Нажмите «e» для редактирования текущей строки
  4. Добавьте 'single' в конец строки, содержащей 'linux'
  5. Загрузка (нажмите b)

Это запустит компьютер только с одним пользователем root. Оттуда выполните следующие действия:

  1. / usr / bin / vim / etc / sudoers (или используйте nano, вам будет проще) решить проблему
  2. Если вы не уверены в проблеме, попробуйте скопировать включенный пример sudoers из "/ usr / share / doc / sudo / examples" (отличается) и, конечно, добавьте туда своего пользователя.
  3. Сохраните файл, выйдите из Vim
  4. Перезагрузитесь, наслаждайтесь!

Мне было интересно, когда он запрашивает пароль, прежде чем он дает однопользовательскую оболочку?
— Джеймс

Этот метод не работает для всех дистрибутивов. Поскольку это хорошо известная секретная дверь, некоторые дистрибутивы заставляют войти в систему, прежде чем вы получите приглашение root. Похоже, это тот случай, Джеймс.
— Телемах

Не знал, что дистрибутивы начали это делать, всегда работал на меня в старые добрые времена Slackware
— Andrioid

Вы должны порекомендовать использовать visudo over vim: en.wikipedia.org/wiki/Visudo

3

Идея Джеймса использовать live cd (при условии, что учетная запись root не включена) является хорошей. Я бы добавил несколько пунктов.

  • Во-первых, вам может повезти, и резервная копия файла / etc / sudoers автоматически сохраняется при редактировании. Проверьте в / etc файл, который выглядит следующим образом sudoers~ (вы можете войти cdв этот каталог и запускать ls -A без полномочий root, даже если вы не можете читать или редактировать файлы как обычный пользователь). Некоторые редакторы создадут такую ​​резервную копию, если вообще возможно, так что вы можете иметь один, не создав его явно.
  • Во-вторых, если вы не знаете, как редактировать файл, вы можете разместить его (или область вокруг строки 7) здесь или где-либо еще. Несмотря на то, что сам файл имеет отношение к безопасности, в нем нет паролей, поэтому его публикация не повредит.
  • И наконец, обратите внимание, что сообщение об ошибке, подобное тому, которое вы видели, не обязательно означает, что сама проблема буквально находится в строке 7. Ошибка может быть в строке 4, но она была отключена, так сказать, в строке 7.

0

Попробуйте нажать e для редактирования. Это должно позволить вам отредактировать файл и исправить ошибки.


Нажав 'e', ​​когда вы увидите ошибку, после того, как вы закончите редактирование, вы вернетесь обратно, чтобы вы могли исправить ваши ошибки. К сожалению, это явно не упоминается вам.

0

Для тех из нас, кто не имеет консоли или локального доступа к серверу для загрузки на уровне выполнения 1 или имеет корневой набор (или доступные учетные данные / сертификаты), используйте pkexec visudo или pkexec vi / etc / sudoers, лучше использовать visudo как это делает проверка ошибок в файле.


Но как вы можете pkexecделать ставки, если вы не знаете пароль root?
— Скотт
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.