Возвращаем доступ к sudo

Вчера я совершенно случайно сам у себя отобрал права на sudo в ubuntu. Ниже написано как я это сделал и как починил.

Главной причиной послужила моя не внимательность и изрядное количество пива в организме. Видимо надо переходить на безалкогольные напитки, к тому же кока-кола выпустила пиво. Потом можете почитать о пиве от коки на BeerPlace.com.ua, возможно с ним не будет таких глупых ошибок, как удаление самого себя из группы sudo.

А отобрал права на sudo командой:

sudo usermod -G vboxusers имя_пользователя

Вот так, забыв маленький ключик «-a», я удалил себя из всех остальных групп кроме виртуалбоксовской.

Правильная команда на добавления пользователя в группу: sudo usermod -a -G vboxusers имя_пользователя

В результате моей ошибки при любой команде начинающийся с sudo мне писали:

zegi is not in the sudoers file. this incident will be reported

Вернуть права можно отредактировав файл /etc/sudoers и вписать после строчки с sudo имя пользователя и ALL=(ALL:ALL) ALL. Должно быть примерно так:

%sudo    ALL=(ALL:ALL) ALL
zegi    ALL=(ALL:ALL) ALL

Проблема в том, что для редактирования файла /etc/sudoers нужен доступ к sudo. Если у нас есть ещё один пользователь с правами к sudo, то логинимся за него (Cntl+Alt+F2) и редактируем файл /etc/sudoers

sudo nano /etc/sudoers

А вот если второго пользователя нет, то нам понадобится LiveCd. Загружаемся с него и монтируем наш диск с линуксом.
В начале создаём папку, куда примонтируем диск

sudo mkdir /mnt/lin

Теперь монтируем диск в свежесозданную папку

sudo mount /dev/sde4 /mnt/lin

Узнать под какой буквой у нас винтчестер(/dev/sde /dev/sda /dev/sdb и т.п.) можно командой:

ls -l /dev/disk/by-label/

после успешного монтирования можно редактировать файл /etc/sudoers

sudo nano /mnt/lin/etc/sudoers

Вносим изменения, сохраняем файл(Cntl+x > Y > enter) и отмонтируем диск:

sudo umount /dev/sde4 /mnt/lin

Перезагружаемся в нормальную систему. Доступ к sudo должен вернуться.

P.S.: Я долго подбирал картинку к статье. В итоге выбрал эту картинку…  она лучше всего ассоциируется с тем состоянием в котором я щас.

Поделись статьёй с друзьями

Или просто поиграйся с кнопочками

5 комментариев на «Возвращаем доступ к sudo»

  1. MarkS:

    А через su нельзя сделать? su (или su root, одно и то же), пароль свой и уже потом править судоэрс (желательно, кстати, через команду visudo, а не вручную. Но тут одна тонкость — редактирование запускается в vim, что для пользователя убунты катастрофа:)? Не могу проверить это на практике, не хочу ломать судоэрс, но может и поможет. Получить рут-шелл введя пароль СВОЙ возможно, сейчас проверил, но у меня, конечно, нормальный судоэрс. Хотя есть подозрение, что у рута просто тот же пароль, что и у пользователя первого.

    Алсо, если есть другой пользователь, то поможет тот же su, зачем же переключаться куда-то в другую консоль? su имя_пользователя, пароль, правка судоэрс, exit, профит.

    И еще из арчвики при установке его узнал вдруг, что, например, %sudo — означает «группа (символ %) sudo». То есть идеологически более правильно не записывать всех пользователей, которым нужен sudo, в судоэрс, а добавить их просто в соответствующую группу. Но это так, ерунда.

    • Zegi:

      Спасибо за развёрнутый комментарий. Щас протестировал способ с su в ubuntu на новом пользователе… всё равно остаются права юзера, а не рута.
      Я на самом деле только вчера узнал, что нельзя просто залогинится под рутом в ubuntu. Как пример:
      su root
      Пароль:
      su: Сбой при проверке подлинности

  2. а su -l я через ету командк правлю/удаляю все что угодно

  3. pet:

    перегрузится в revovery, а там root и делай что хочешь.
    я так испортил sudoers (ошибку сделал) и так исправлял.

  4. А не проще загрузиться с другими параметрами ядра и спокойно поменять всё как нужно?
    … ro quiet rw init=/bin/bash

Добавить комментарий