Устраняем ошибку неправильного редактирования файла sudoers в Linux

Сентябрь21
LinuxВ Linux есть довольно много системных файлов,  бездумное и неаккуратное редактирование которых может привести к неправильной работе системы или даже, в некоторых случаях, к kernel crash dump. Пути решения проблемы для каждого конкретного случая буду своими. В данной статье будет рассмотрено, что делать, если вы неправильно отредактировали файл sudoers.

Для чего нужен sudoers?

Файл лежит в директории /etc/ и определяет наличие или отсутствие у пользователей прав выполнять команды от имени супер администратора — командой sudo. Так же он отвечает за некоторые приятные мелочи, вроде возможности отключить ввод пароля для команды sudo каждый раз при ее выполнении.

Дефолтный файл будет содержать примерно следующие строки:
# User privilege specification
root    ALL=(ALL:ALL) ALL
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

 Что делать, если мы неправильно отредактировали файл?

Допустим, я хочу добавить в это файл пользователя feanor184 и разрешить ему выполнять sudo без ввода пароля. Я дописываю:
# User privilege specification
root ALL=(ALL:ALL) ALL
feanor184 ALL=(ALL:ALL) no password: ALL

и сохраняю файл.

Желаемый результат я не получил. Связано это с тем, что я неправильно указал синтаксис. Вместо «no password: ALL» нужно было написать «NOPASSWD: ALL«. Казалось бы, какая проблема? Сейчас зайдем и поменяем)
Но не тут то было…теперь при попытке открытия файла мне будет выдаваться ошибка:
feanor184@home:~$ sudo vim /etc/sudoers
>>> /etc/sudoers: syntax error near line 21 <<<
sudo: parse error in /etc/sudoers near line 21
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin

файл для своего открытия требует права sudo а в этой строчке они неверно назначены. Тупиковая ситуация, если нет другого пользователя с правильными правами. Либо, копаем дальше.
Специально для данной ситуации, в линуксе есть команда:
feanor184@home:~$ pkexec visudo
==== AUTHENTICATING FOR org.freedesktop.policykit.exec ===
Authentication is needed to run `/usr/sbin/visudo' as the super user
Authenticating as: feanor184,,, (feanor184)
Password:
==== AUTHENTICATION COMPLETE ===
>>> /etc/sudoers: syntax error near line 21 <<<

Вводим свой пароль и исправляем:
# User privilege specification
root ALL=(ALL:ALL) ALL
feanor184 ALL=(ALL:ALL) NOPASSWD: ALL

Поделиться в соц. сетях

Метки: ,
Copyright © 2013-2017. All rights reserved.

Опубликованно Сентябрь 21, 2015 by Feanor184 в категории Linux

Об Авторе

Постигаю Linux, учу Python, пытаюсь программировать)

8 комментарий(ев) к записи “Устраняем ошибку неправильного редактирования файла sudoers в Linux

  1. Максим

    У меня с Sudoers отдельные терки.
    В начале своего пути знакомства с Linux, умудрился на все каталоги, сделать 777 права, пришлось переустанавливать систему, т.к. не знал, как пользоваться LiveCD и прочими приблудами

Оставьте комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*

=

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