Nazwa użytkownika nie znajduje się w pliku sudoers. Ten incydent zostanie zgłoszony

85

Używam Ubuntu 12.04 na moim laptopie za pomocą VMware Player. Nie jestem pewien, dlaczego, ale mam konto o nazwie „Konto użytkownika” oprócz mojego konta, które zwykle loguję, aby korzystać z Ubuntu. Cóż, to był tylko komentarz boczny, ale w zasadzie wszystko, co próbuję zrobić, to zainstalować bibliotekę ncurses na Ubuntu. Próbowałem zainstalować ncurses przy użyciu następujących wierszy poleceń:

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

Kiedy próbowałem zainstalować ncurses dwa razy przy użyciu powyższych poleceń, otrzymałem następujący komunikat w terminalu:

[sudo] password for username

Po wpisaniu hasła otrzymuję następujący komunikat:

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

Do tej pory próbowałem włączyć konto użytkownika root („Super User”), postępując zgodnie z instrukcjami pod tym linkiem: https://help.ubuntu.com/community/RootSudo

Oto niektóre rzeczy, które sugeruje link:

Pozwól innemu użytkownikowi uruchomić sudo. Wpisz następujące polecenie w wierszu polecenia:

sudo adduser nazwa użytkownika sudo

Lub

sudo adduser nazwa użytkownika sudo

logowanie się jako inny użytkownik. Wpisz następujące polecenie w wierszu polecenia:

sudo -i -u nazwa użytkownika

Włączanie konta root. Wpisz następujące polecenie w wierszu polecenia:

sudo -i

Lub

sudo passwd root

Wypróbowałem wszystkie powyższe wiersze poleceń i po wpisaniu każdego polecenia zostałem poproszony o podanie hasła. Po wprowadzeniu hasła otrzymałem taki sam komunikat, jak przy próbie instalacji ncurses:

fsolano is not in the sudoers file. This incident will be reported.
fsolano94
źródło
Nie mam tu jeszcze tak skromnych komentarzy ... Pytanie. czy fsolano jest pierwszym użytkownikiem, którego stworzyłeś podczas instalacji Ubuntu? zwykle powinny to mieć uprawnienia administratora, jeśli wykonujesz funkcję administratora w sensie graficznym, czy w ogóle to działa? IE, jeśli otworzysz GUI do zarządzania użytkownikami i spróbujesz zrobić coś godnego podziwu, czy to działa? lub powiedzieć, że nie jesteś rootem
To samo pytanie zostało tutaj zadane? superuser.com/questions/866582/...
shubham 20.01.2015
jeśli jesteś użytkownikiem root z ustawionym hasłem, możesz zalogować się do roota sui dodać się do grupy sudo àdduser username sudo, będziesz musiał uruchomić system z cd / usb i chroot do zainstalowanego systemu, domyślnie zaloguje się do roota , ustaw hasło roota dla następnych przypadków passwdi stamtąd dodaj się do sudo, i uruchom ponownie, będziesz mieć swoją nazwę użytkownika dodaną do sudo, a także będziesz mieć hasło roota, na wypadek, gdyby sudo nadal nie działało, możesz to obsłużyć ....
Jonasz
2
xkcd.com/838
Revetahw

Odpowiedzi:

57

Kiedy mi się to przydarzyło, wszystko, co musiałem zrobić, aby to naprawić, to:

Krok 1. Otwórz okno terminala, CTRL+ ALT+ T w moim systemie (Debian KDE po skonfigurowaniu jako klawisz skrótu)

Krok 2. Wpisano root za pomocą polecenia su root

Krok 3. Wprowadź hasło roota

Krok 4. Wprowadź polecenie, apt-get install sudo -yaby zainstalowaćsudo

Krok 5. Dodaj użytkownika do pliku sudoers adduser username, wprowadzając nazwę użytkownikausername

Krok 6. Ustaw odpowiednie uprawnienia dla pliku sudoers, wprowadzając chmod 0440 /etc/sudoers

Krok 7. Wpisz exiti naciskaj, Enteraż zamkniesz okno terminala. Zamknij całkowicie system i uruchom ponownie.

Krok 8. Otwórz kolejne okno terminala.

Krok 9. Wypróbuj dowolne polecenie sudo, aby sprawdzić, czy nazwa użytkownika jest poprawnie dodana do pliku sudoers. Kiedyś sudo echo "Hello World!". Jeśli twoja nazwa użytkownika została poprawnie dodana do listy sudoers, otrzymasz Hello World!jako odpowiedź terminala!

Shrikant Khawale
źródło
15
-1: cd -będzie nie iść do katalogu domowego, ale do ostatniej innego katalogu. sudo -będzie nie prosić o hasło użytkownika, ale dla ciebie hasło roota. Czy nie edytować /etc/sudoersręcznie użyć visudodo tego. Typowe systemy Ubuntu w ogóle nie mają hasła roota, ale całkowicie polegają na sudo.
michas,
@michas Nie możesz używać Visudo bez sudo w Debianie. virozwiązanie nie jest również możliwe, ponieważ tylko do odczytu. Gedit działa w moim przypadku.
Léo Léopold Hertz
W debian 8 możesz używać vi bez sudo jako root. Aby zapisać do pliku tylko do odczytu, użyj: wq!
Wyrocznia
To też działa dla mnie, naprawdę świetna pomoc!
Arefe,
Dzięki za odpowiedź. Ale nawet nie jestem w stanie biecsu -
Vishal
42

Kliknij link, aby zresetować hasło administratora [brzmi, jakbyś nazwał swoje konto administratora jako „użytkownik” :)]

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

Następnie zaloguj się jako użytkownik admin i wykonaj następujące czynności.

sudo usermod -aG sudo,adm fsolano

Teraz możesz zalogować się jako „fsolano” i powinieneś być w stanie uruchomić polecenie sudo.

Arul Selvan
źródło
1
Przepraszam, zapomniałem wspomnieć, że rozwiązałem ten problem bardzo dawno temu. To jest rozwiązanie problemu, który miałem i być może ktoś inny.
fsolano94
3
Nadal dostaję wiadomość po wpisaniu tego adduser NAME sudo. Myślę, że musi być coś jeszcze. Używam Debiana 7.8.
Tomáš Zato
To nie jest wystarczające rozwiązanie w Debianie 8.5. Propozycja Shrikant Khawale z niewielkimi dodatkami jest tutaj poprawna.
Léo Léopold Hertz -
3
@masi nad Sztuką robi pracy w Debianie 8.5 (przynajmniej tutaj), ale dopiero po wylogowaniu się i ponownie.
jcoppens,
@jcoppens ma rację, działa również na Debianie 8.6, tylko po wylogowaniu i zalogowaniu
hello_earth 30.12.2016
13

/etc/sudoersLista plików konfiguracji , która może uruchamiać komendy jako użytkownik.

W Ubuntu plik ten zawiera wiersz umożliwiający wszystkim użytkownikom sudogrupy uruchamianie poleceń jako rootużytkownik.

Aby sprawdzić, którzy użytkownicy są w grupie sudo, możesz wpisać getent group sudo. Możesz także sprawdzić grupy bieżącego użytkownika, pisząc id.

Prawdopodobnie obecnego użytkownika nie ma w grupie sudo i dlatego nie można używać sudopolecenia.

Zaloguj się jako użytkownik sudo, jeśli chcesz uruchomić sudo.

michas
źródło
Cóż, właśnie o to chodzi. Zalogowałbym się jako administrator lub użytkownik root, ale zapomniałem hasła przy pierwszej instalacji Ubuntu na moim komputerze.
fsolano94,
sudo: x: 27: użytkownik (nie jestem pewien, co to jest x lub 27, ale jestem pewien, że użytkownik jest kontem użytkownika, którego nie znam / nie pamiętam hasła)
fsolano94
@ fsolano94, uruchom komputer w jakiejś formie środowiska ratunkowego (bezpośrednio lub z nośnika instalacyjnego) i zmień hasło roota. Lub edytuj /etc/sudoersplik (najlepiej używając visudo(1)).
vonbrand
6

Mam ten sam problem z Kali za każdym razem, gdy chcę dodać nowego użytkownika do grupy sudo, wpisując następujące polecenie:

usermod -aG sudo newuser

i edycja odpowiedniej sekcji w /etc/sudoers. Bzdury!

Moją poprawką dla tego nonsensu jest skopiowanie wiersza dla roota poniżej i zmiana roota na newuser:

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

newuser ALL=(ALL:ALL) ALL

Pamiętam, jak zwykła metoda z usermod działała, ale czy to błąd przez ostatnie kilka lat? to naprawdę nonsens. w każdym razie, jeśli ktoś ma lepszą odpowiedź, udostępnij ją proszę :)

chlebowy
źródło
Ten sam problem na zwykłym debianie (9); Ręczna edycja /etc/sudoerszałatwiło sprawę
Zoe transgirl
4

Zrób to, aby zresetować hasło dla administratora.

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

Następnie będziesz mógł udzielić uprawnienia sudo zwykłemu użytkownikowi za pomocą

sudo adduser username sudo

jak napisałeś w swoim pierwotnym pytaniu.

Przy okazji: dlaczego instalujesz ncurses? Kompilujesz coś?

Andrew M.
źródło
Programuję Tetris w C i używam przekleństw jako platformy do graficznego interfejsu użytkownika. I tak zamierzam podążać za linkiem
fsolano94,
1

Możesz również dodać użytkownika do grupy sudo dla wszystkich praw dostępu poprzez:

  1. Przechodzenie do użytkownika katalogu głównego przez sudo su(ubuntu 16.04 LTS)
  2. Następnie wprowadź bieżące hasło użytkownika
  3. wpisz sudo adduser <username> sudogdzie nazwa użytkownika to nazwa użytkownika, którego chcesz dodać do listy sudoers
  4. Aby sprawdzić, czy wymagany użytkownik został dodany, wpisz, getent group sudoktóra wyświetli listę użytkowników sudo
Yash Agrawal
źródło
Cześć, witamy w Unix SE i gratulujemy dobrej pierwszej odpowiedzi. Poprawiłem trochę twoje formatowanie, możesz dowiedzieć się więcej na ten temat, klikając „pomoc dotyczącą składni” podczas pisania postu.
GnP
1
To nie jest dobra odpowiedź. (1) Pytanie stwierdza, że sudonie działa dla użytkownika. (2) Odpowiedź sudo adduser <username> sudozostała już udzielona.
G-Man,
0

Jeśli masz innego użytkownika root / administratora niż „fsolano”, nie ma go w pliku sudoers. Ten incydent zostanie zgłoszony:

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

ponieważ użytkownik „fsolano” został zmieniony na użytkownika standardowego, a jeśli masz innego użytkownika uprzywilejowanego jako root, zaloguj się przez użytkownika root i zmień „fsolano” na administratora za pomocą „Kont użytkowników”.

Dovegg
źródło
-1

Najprostszym sposobem dodania użytkownika do sudoerspliku jest uruchomienie komendy poniżej jako użytkownik z uprawnieniami do wykonania gpasswd:

sudo gpasswd -a username sudo
monteirobrena
źródło
To nie działa w Debianie 8.5.
Léo Léopold Hertz
-1

1. Możesz sprawdzić, czy należysz do grupy sudo, czy nie, używając poniższego polecenia

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

Możemy również sprawdzić za pomocą poniższego skryptu

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
Praveen Kumar BS
źródło