Имя пользователя отсутствует в файле sudoers. Об этом инциденте будет сообщено


85

Я использую Ubuntu 12.04 на своем ноутбуке с помощью VMware Player. Я не уверен, почему, но у меня есть учетная запись под названием «Учетная запись пользователя» в дополнение к моей учетной записи, которую я обычно использую для входа в Ubuntu. Ну, это был только побочный комментарий, но в основном все, что я пытаюсь сделать, это установить библиотеку ncurses в Ubuntu. Я попытался установить ncurses с помощью следующих командных строк:

sudo apt-get install libncurses5-dev
sudo apt-get install ncurses-dev

Когда я попытался установить ncurses дважды, используя вышеуказанные команды, я получил следующее приглашение в терминале:

[sudo] password for username

Когда я набираю свой пароль, я получаю следующее сообщение:

username is not in the sudoers file. This incident will be reported.

До сих пор я пытался включить учетную запись root-пользователя («Super User»), следуя инструкциям по этой ссылке: https://help.ubuntu.com/community/RootSudo.

Вот некоторые из предложенных ссылок:

Разрешить другому пользователю запускать sudo. Введите в командной строке следующее:

sudo adduser имя пользователя sudo

Или же

sudo adduser имя пользователя sudo

вход в систему как другой пользователь. Введите в командной строке следующее:

sudo -i -u имя пользователя

Включение учетной записи root. Введите в командной строке следующее:

судо

Или же

sudo passwd root

Я перепробовал все вышеперечисленные командные строки, и после ввода каждой команды меня попросили ввести пароль. После ввода пароля я получил то же сообщение, что и при попытке установить ncurses:

fsolano is not in the sudoers file. This incident will be reported.

У меня пока нет комментариев, так что держите меня здесь ... Вопрос. Является ли fsolano первым пользователем, которого вы сделали с установкой Ubuntu? обычно это должно иметь привилегии администратора, если вы выполняете функцию администратора в графическом смысле, она работает для вас вообще? IE, если вы открываете GUI для управления пользователями и пытаетесь сделать что-то adminy, это работает? или сказать, что вы не root

Тот же вопрос был задан здесь тоже? superuser.com/questions/866582/…
шубхам

если у вас есть пользователь root с установленным паролем, вы можете войти в систему с помощью root suи добавить себя в группу sudo, в àdduser username sudoпротивном случае вам придется загружаться с установленным cd / usb и chroot в установленную систему, он будет входить в систему по умолчанию root установите пароль пользователя root для следующих случаев passwd, затем добавьте себя в sudo и перезагрузите компьютер, после чего вы добавите свое имя пользователя в sudo, а также получите пароль root, в случае, если sudo все еще не работает, вы можете справиться с ним. ....
Иона

Ответы:


57

Когда это случилось со мной, все, что мне нужно было сделать, это исправить:

Шаг 1. Откройте окно терминала, CTRL+ ALT+ T в моей системе (Debian KDE после установки в качестве горячей клавиши)

Шаг 2. Вошел в root с помощью команды su root

Шаг 3. Введите пароль пользователя root

Шаг 4. Введите команду apt-get install sudo -yдля установкиsudo

Шаг 5. Добавьте пользователя в файл sudoers, введя adduser usernameимя пользователя вместоusername

Шаг 6. Установите правильные разрешения для файла sudoers, введя chmod 0440 /etc/sudoers

Шаг 7. Набирайте exitи нажимайте, Enterпока не закроете окно терминала. Полностью выключите вашу систему и перезагрузите компьютер.

Шаг 8. Откройте другое окно терминала.

Шаг 9. Попробуйте любую команду sudo, чтобы проверить, правильно ли ваше имя пользователя добавлено в файл sudoers. Я использовал sudo echo "Hello World!". Если ваше имя пользователя было правильно добавлено в список sudoers, вы получите Hello World!ответ терминала!


15
-1: cd -будут не идти в домашнем каталог , но до самого последнего другого каталога. sudo -будет запрашивать не ваш пароль пользователя, а пароль пользователя root. Вы не редактировать /etc/sudoersвручную использовать visudoдля этого. Типичные системы Ubuntu вообще не имеют пароля root, но полностью полагаются на sudo.
Михас

@michas Вы не можете использовать visudo без sudo в Debian. viРешение также не возможно, потому что только для чтения. Гедит работает в моем случае.
Лео Леопольд Герц 준영

В Debian 8 вы можете использовать vi без sudo в качестве пользователя root. Для записи в файл только для чтения используйте: wq!
Оракул

Это также работает для меня, действительно большая помощь!
Арефе

Спасибо за Ваш ответ. Но я даже не могу бежатьsu -
Вишал

42

Перейдите по ссылке, чтобы сбросить пароль администратора [звучит так, как будто вы назвали свою учетную запись администратора как «пользователь» :)]

https://askubuntu.com/questions/24006/how-do-i-reset-a-lost-administrative-password

После этого войдите как пользователь с правами администратора и выполните следующее.

sudo usermod -aG sudo,adm fsolano

Теперь вы можете войти как 'fsolano' и у вас должна быть возможность запустить команду sudo.


1
Извините, я забыл упомянуть, что решил эту проблему очень давно. Это решение проблемы, которая у меня была, и, возможно, у кого-то еще.
fsolano94

3
Я все еще получаю сообщение после того, как напечатал это так же как adduser NAME sudo. Я думаю, что м, должно быть что-то еще. Я использую Debian 7.8.
Томаш Зато

Это не является достаточным решением в Debian 8.5. Предложение ShrikantKhawale с небольшими дополнениями является правильным здесь.
Лео Леопольд Герц 준영

3
@masi Хитрость выше делает работу в Debian 8.5 (по крайней мере здесь), но только после того, как вы выйдите из системы и снова.
jcoppens

@jcoppens прав, работает и для Debian 8.6, только после выхода из системы и входа в систему
hello_earth

13

Список конфигурационных файлов /etc/sudoers, которым разрешено запускать какие команды от имени какого пользователя.

В Ubuntu этот файл содержит строку, позволяющую всем пользователям sudoгруппы запускать команды от имени rootпользователя.

Чтобы проверить, какие пользователи входят в группу sudo, вы можете напечатать getent group sudo. Вы также можете проверить группы вашего текущего пользователя, набрав id.

Возможно, ваш текущий пользователь не входит в группу sudo и поэтому ему запрещено использовать sudoкоманду.

Войдите в систему как пользователь с поддержкой sudo, если вы хотите запустить sudo.


Ну, это просто вещь. Я бы вошел как администратор или пользователь root, но я забыл пароль, когда впервые установил Ubuntu на свою машину.
fsolano94

sudo: x: 27: пользователь (я не уверен, что такое x или 27, но я уверен, что пользователь - это учетная запись пользователя, к которой я не знаю / не помню пароль)
fsolano94

@ fsolano94, загрузитесь в какую-либо форму аварийного окружения (либо напрямую, либо загрузившись с установочного носителя) и измените пароль root. Или отредактируйте /etc/sudoersфайл (желательно используя visudo(1)).
vonbrand

6

У меня возникает та же проблема с Kali, когда я хочу добавить newuser в группу sudo, введя эту команду:

usermod -aG sudo newuser

и редактирование нужного раздела в /etc/sudoers. Все дерьмо!

Мое исправление для этой чепухи - скопировать строку для корня под ней и изменить корень на newuser:

# User privilege specification
root    ALL=(ALL:ALL) ALL

newuser ALL=(ALL:ALL) ALL

Я помню обычный метод работы с usermod, но это ошибка за последние пару лет? это действительно глупость. в любом случае, если у кого-то есть лучший ответ, поделитесь им, пожалуйста :)


Та же проблема на обычном Debian (9); Ручное редактирование /etc/sudoersсделал трюк
Зою на transgirl

4

Сделайте это, чтобы сбросить пароль для вашего администратора.

https://help.ubuntu.com/community/LostPassword

Тогда вы сможете предоставить разрешение sudo своему обычному пользователю с помощью

sudo adduser username sudo

как вы разместили в своем первоначальном вопросе.

Кстати: почему вы устанавливаете ncurses? Вы что-то компилируете?


Я программирую тетрис на C и использую curses в качестве кроссплатформенного графического интерфейса пользователя. И да, я собираюсь перейти по ссылке
fsolano94

1

Вы также можете добавить пользователя в группу sudo для всех прав доступа:

  1. Переход к пользователю вашего корневого каталога с помощью sudo su(Ubuntu 16.04 LTS)
  2. Затем введите свой текущий пароль пользователя
  3. введите sudo adduser <username> sudoгде username - это имя пользователя, которого вы хотите добавить в список sudoers
  4. Для проверки, успешно ли добавлен требуемый пользователь, введите текст, getent group sudoкоторый покажет список пользователей sudo.

Привет, добро пожаловать в Unix SE и поздравляю с хорошим первым ответом. Я немного исправил форматирование, вы можете узнать об этом больше, нажав «Справка по синтаксису» при написании поста.
GnP

1
Это не хороший ответ. (1) Вопрос гласит, что sudoне работает для пользователя. (2) Ответ sudo adduser <username> sudoуже дан.
G-Man

0

Если у вас есть любой другой пользователь root / admin, кроме 'fsolano', этого нет в файле sudoers. Об этом инциденте будет сообщено:

check sudo enabled users (groups)
# getent group sudo 
sudo:x:27:xyz,abc 

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


-1

Самый простой способ добавить пользователя в sudoersфайл - запустить команду ниже как пользователь с правами на выполнение gpasswd:

sudo gpasswd -a username sudo

Это не работает в Debian 8.5.
Лео Леопольд Герц 준영

-1

1.Вы можете проверить, являетесь ли вы частью группы sudo, с помощью команды ниже

groups username ===> it will lists the groups for which he belongs too

Мы можем проверить ниже сценарий тоже

h=`groups username| awk -F ":" '{print $2}'| grep -io 'sudo'`
if [[ $h == "sudo" ]]
then
echo "user praveen is part of group sudo"
else
echo "Need to add user to group sudo"
echo "Swictch to root and add user"
fi
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.