Исправление ошибки файла sudoers «user is not in the sudoers file» для ubuntu в WSL через оболочку visudo

Забыли пароль или испортили файл sudoers в WSL? Не спешите переустанавливать систему! Узнайте, как быстро исправить ошибку «user is not in the sudoers file» с помощью visudo и других методов. Подробная инструкция для Ubuntu в подсистеме Windows для Linux (WSL) поможет восстановить доступ и избежать повторных ошибок. 🚀
Допустим испортили свой файл sudoers в подсистеме Windows для Linux. Что делать и как бытЬ? Ведь система упала и вас не пускают в систему. Не стоит топориться переустанавливать систему, есть решение!
Исправляем ошибку для ubuntu под wsl: user is not in the sudoers file
Снова эта злополучная ошибка не дает покоя! Скольким она уже подпортила настроение. Но не волнуйтесь, сейчас все поправим, и один из самых верных способов – это как раз через visudo. Этот метод, можно сказать, классика жанра для редактирования файла sudoers, и не зря, ведь он специально для этого и создан.

Как исправить файл sudoers в WSL с помощью visudo?#

Итак, что нам нужно сделать? Довольно простое решение, нужно:
  1. 1
    Открываем командную строку Windows: Первым делом запускаем командную строку Windows. Это может быть как старый добрый cmd, так и более современный PowerShell – результат будет тот же. Тут уж кому что привычнее.
  2. 2
    Вводим команду для доступа от имени root: Теперь самое главное. В открывшейся консоли Windows введите следующую команду:

    Shell

    1wsl -u root visudo
    Давайте быстренько пробежимся, что тут к чему. wsl – это команда для взаимодействия с вашей подсистемой Linux. Ключ -u root указывает, что следующую команду (visudo) нужно запустить от имени суперпользователя, то есть root. Это критически важно, так как редактировать системный файл sudoers может только он. Ну а visudo – это и есть та самая утилита, которая безопасно откроет нам файл /etc/sudoers для правки.
  3. 3
    Редактируем файл sudoers: После ввода команды перед вами откроется текстовый редактор (обычно это nano или vi, в зависимости от настроек вашего дистрибутива Linux в WSL) с содержимым файла /etc/sudoers.
    Теперь ваша задача – найти ту строку, где вы допустили ошибку (например, неправильно указали имя пользователя, команду или забыли какой-то символ), и аккуратно ее исправить. Будьте предельно внимательны на этом этапе!
  4. 4
    Сохраняем изменения и выходим: После того как вы внесли исправления, сохраните файл и выйдите из редактора. В nano это обычно делается через Ctrl+X, затем Y (или Д в русской локали) для подтверждения сохранения, и Enter.
Обратите внимание, что visudo при сохранение не выявляет ошибки. Чтобы не выйти из sudo с заблокированным доступом. Оставьте оболочку (sudo -s) или visudo открытой до тех пор, пока вы тщательно не протестируете новую конфигурацию.

Очень важный совет из практики!#

Однако, чтобы не оказаться в ситуации, когда вы вроде бы все исправили, а sudo все равно не работает или работает не так, как надо, настоятельно рекомендую:
  • Не закрывайте visudo сразу! Прежде чем закрыть окно с visudo (или сессию, где вы его запустили), откройте другую консоль WSL.
  • Протестируйте sudo: В этой новой консоли попробуйте выполнить какую-нибудь команду через sudo (например, sudo ls /root). Если команда выполняется без ошибок и запрашивает ваш пароль (если так настроено), значит, все отлично!

Как исправить файл sudoers в WSL используя конфигурацию оболочки для ubuntu#

Альтернативой можно воспользовался следующим вариантом:

Shell

1ubuntu config --default-user root
Затем перезапустите LxssManager службу (из services.msc)
Когда следующий раз открываете WSL, по умолчанию подключитесь как root и можете безопасно выполнять команду visudo из этого экземпляра WSL.
Не забудьте вернуться к исходному пользователю после завершения операции:

Shell

1ubuntu config --default-user <your active username>

Был ли этот материал полезен?

Авторы файла

Информацию подготовили

Автор текста

Fullstack веб-разработчик

Моя специализация включает разработку веб-сайтов, приложений и интерфейсов, работу с базами данных, а также разворачиванием полноценного веб сервера.