Ім'я користувача немає у файлі 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.

Поки я намагався ввімкнути обліковий запис кореневого користувача ("Супер Користувач"), дотримуючись інструкцій за цим посиланням: https://help.ubuntu.com/community/RootSudo

Ось декілька речей, за якими пропонується зробити посилання:

Дозволити іншому користувачеві запускати sudo. Введіть у командному рядку наступне:

ім'я користувача addoser

Або

ім'я користувача addoser

увійти як інший користувач. Введіть у командному рядку наступне:

ім'я користувача sudo -i -u

Увімкнення кореневого облікового запису. Введіть у командному рядку наступне:

судо -і

Або

sudo passwd root

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

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

У мене ще немає коментарів, настільки голі тут зі мною ... Питання. fsolano - перший користувач, який ви зробили з установкою ubuntu? зазвичай це повинно мати права адміністратора, якщо ви виконуєте функцію адміністратора в графічному сенсі, це працює для вас взагалі? IE, якщо ви відкриєте GUI для управління користувачем і спробуєте зробити щось адміністрування, чи це працює? або скажу, що ви не корінь

Тут було задано те саме питання? superuser.com/questions/866582/…
shubham

якщо ви користуєтеся кореневим користувачем із встановленим паролем, ви можете увійти в корінь, використовуючи suі додайте urself до групи sudo àdduser username sudo, вам доведеться завантажуватись з живим cd / usb та chroot до встановленої системи, він увійде в root за замовчуванням , встановіть кореневий пароль для наступних випадків passwdі додайте себе до судо-там звідти, і перезавантажте, у вас буде додано ваше ім'я користувача до sudo, а також ви матимете root-пароль, на випадок, якщо sudo все ще не працює, ви можете впоратися з ним ....
Йона

Відповіді:


57

Коли це сталося зі мною, все, що я повинен був зробити, щоб виправити це:

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

Крок 2. Введено корінь за допомогою команди 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 - буде переходити до домашнього каталогу, а до останнього іншого каталогу. буде НЕ питати ваш пароль користувача , але для вас пароль суперкористувача. Ви НЕ редагувати вручну використовувати для цього. Типові системи ubuntu взагалі не мають кореневого пароля, але повністю покладаються на sudo. sudo -/etc/sudoersvisudo
michas

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

У 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.


Ну це просто річ. Я б увійшов як адміністратор або користувач root, але я забув пароль, коли вперше встановив Ubuntu на своїй машині.
fsolano94

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

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

6

У мене виникає однакова проблема з Kali, коли я хочу додати newuser до групи sudo, ввівши цю команду:

usermod -aG sudo newuser

та редагування правого розділу в /etc/sudoers. Всі лайно!

Моє виправлення цієї дурниці полягає в тому, щоб скопіювати рядок для кореня під ним і змінити root на newuser:

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

newuser ALL=(ALL:ALL) ALL

Я пам’ятаю звичайний метод з користувачем, який використовувався для роботи, але це помилка останні пару років? це справді нісенітниця. у будь-якому випадку, якщо хтось має кращу відповідь, поділіться будь ласка :)


Той самий випуск на звичайних debian (9); вручну редагування /etc/sudoersзробило трюк
Зої трансгірл

4

Зробіть це, щоб скинути пароль для вашого адміністратора.

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

Тоді ви зможете надати дозвіл sudo для вашого постійного користувача

sudo adduser username sudo

як ви розмістили у своєму початковому запитанні.

До речі: чому ви встановлюєте ncurses? Ви щось складаєте?


Я програмую Tetris на C і використовую прокльони як перехресну платформу для графічного взаємодії з користувачами. І так, я збираюся перейти за посиланням
fsolano94

1

Ви також можете додати користувача до групи sudo для всіх прав доступу:

  1. Перехід до користувача вашого кореневого каталогу sudo su(ubuntu 16.04 LTS)
  2. Потім введіть свій поточний пароль користувача
  3. введіть, sudo adduser <username> sudoде ім'я користувача - це ім’я користувача, якого ви хочете додати у списку 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, увійдіть через кореневого і змініть 'fsolano' на адміністратора за допомогою "Облікові записи користувачів".


-1

Найпростіший спосіб додати користувача до sudoersфайлу - це виконати команду нижче, як користувач з дозволом на виконання gpasswd:

sudo gpasswd -a username sudo

У Debian 8.5 це не працює.
Лео Леопольд Герц 준영

-1

1.Ви можете перевірити, ви є членом групи судо чи ні, скориставшись командою нижче

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.