Имя пользователя отсутствует в файле 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.
fsolano94
источник
У меня пока нет комментариев, так что держите меня здесь ... Вопрос. Является ли 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 все еще не работает, вы можете справиться с ним. ....
Иона
2
xkcd.com/838
Revetahw

Ответы:

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, но это ошибка за последние пару лет? это действительно глупость. в любом случае, если у кого-то есть лучший ответ, поделитесь им, пожалуйста :)

Breadfan
источник
Та же проблема на обычном 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» на администратора с помощью «Учетных записей пользователей».

Dovegg
источник
-1

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

sudo gpasswd -a username sudo
monteirobrena
источник
Это не работает в 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
Правин Кумар Б.С.
источник