Der Benutzername ist nicht in der sudoers-Datei enthalten. Dieser Vorfall wird gemeldet

85

Ich verwende Ubuntu 12.04 auf meinem Laptop mit VMware Player. Ich bin mir nicht sicher, warum, aber ich habe zusätzlich zu meinem Konto ein Konto mit dem Namen "Benutzerkonto", mit dem ich mich normalerweise zur Verwendung von Ubuntu anmelde. Nun, das war nur ein Nebenkommentar, aber im Grunde ist alles, was ich versuche, die ncurses-Bibliothek auf Ubuntu zu installieren. Ich habe versucht, ncurses mit den folgenden Befehlszeilen zu installieren:

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

Als ich versuchte, ncurses mit den obigen Befehlen zweimal zu installieren, erhielt ich im Terminal die folgende Eingabeaufforderung:

[sudo] password for username

Wenn ich mein Passwort eingebe, erhalte ich folgende Meldung:

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

Bisher habe ich versucht, den Root-Benutzer-Account ("Super-Benutzer") zu aktivieren, indem ich den Anweisungen unter diesem Link gefolgt bin: https://help.ubuntu.com/community/RootSudo

Hier sind einige der Dinge, für die der Link vorgeschlagen hat:

Erlaube einem anderen Benutzer, sudo auszuführen. Geben Sie Folgendes in die Befehlszeile ein:

sudo adduser benutzername sudo

Oder

sudo adduser benutzername sudo

Anmelden als ein anderer Benutzer. Geben Sie Folgendes in die Befehlszeile ein:

sudo -i -u Benutzername

Aktivieren des Root-Kontos Geben Sie Folgendes in die Befehlszeile ein:

sudo -i

Oder

sudo passwd root

Ich habe alle oben genannten Befehlszeilen ausprobiert und nach der Eingabe jedes Befehls wurde ich zur Eingabe meines Kennworts aufgefordert. Nachdem ich mein Passwort eingegeben hatte, erhielt ich die gleiche Nachricht wie beim Versuch, ncurses zu installieren:

fsolano is not in the sudoers file. This incident will be reported.
fsolano94
quelle
Ich habe noch keinen Kommentar hier ... Frage. Ist fsolano der erste Benutzer, den Sie mit der Installation von Ubuntu gemacht haben? Normalerweise sollte das Administratorrechte haben. Wenn Sie eine Administratorfunktion im grafischen Sinne ausführen, funktioniert dies überhaupt für Sie? IE, wenn Sie die GUi für die Benutzerverwaltung öffnen und versuchen, etwas Adminy zu tun, funktioniert es? oder sag dir, du bist nicht root
Dieselbe Frage wurde auch hier gestellt? superuser.com/questions/866582/...
shubham
Wenn Sie einen Root-Benutzer mit festgelegtem Kennwort haben, können Sie sich mit root anmelden suund zu sudo group àdduser username sudoelse hinzufügen. Sie müssen mit live cd / usb und chroot auf dem installierten System booten. Standardmäßig meldet sich der Benutzer bei root an , legen Sie ein root-Passwort für die nächsten Fälle fest passwd, und fügen Sie sich von dort aus zu sudo hinzu. Nach dem Neustart wird Ihr Benutzername zu sudo hinzugefügt, und Sie erhalten ein root-Passwort, falls sudo immer noch nicht funktioniert, können Sie damit umgehen ....
Jonah
2
xkcd.com/838
Revetahw

Antworten:

57

Als mir das passierte, musste ich nur Folgendes tun, um das Problem zu beheben:

Schritt 1. Öffnen Sie ein Terminal - Fenster, CTRL+ ALT+ T auf meinem System (Debian KDE , nachdem er als Hotkey Einrichtung)

Schritt 2. Geben Sie den Befehl root ein su root

Schritt 3. Geben Sie das root-Passwort ein

Schritt 4. Geben Sie den apt-get install sudo -yzu installierenden Befehl einsudo

Schritt 5. Fügen Sie Benutzer zur sudoers-Datei hinzu, indem Sie eingeben adduser usernameund Ihren Benutzernamen anstelle von eingebenusername

Schritt 6. Stellen Sie durch Eingabe die richtigen Berechtigungen für die sudoers-Datei ein chmod 0440 /etc/sudoers

Schritt 7. Geben Sie ein exitund drücken EnterSie, bis Sie das Terminalfenster schließen. Fahren Sie Ihr System vollständig herunter und starten Sie es neu.

Schritt 8. Öffnen Sie ein anderes Terminalfenster.

Schritt 9. Probieren Sie einen beliebigen sudo-Befehl aus, um zu überprüfen, ob Ihr Benutzername korrekt zur sudoers-Datei hinzugefügt wurde. Ich habe benutzt sudo echo "Hello World!". Wenn Ihr Benutzername korrekt zur Liste der Sudoer hinzugefügt wurde, erhalten Sie Hello World!als Antwort das Endgerät!

Shrikant Khawale
quelle
15
-1: cd -Wechselt nicht zum Ausgangsverzeichnis, sondern zum neuesten anderen Verzeichnis. sudo -wird nicht für das User - Passwort fragen , aber für Sie root - Passwort. Sie nicht bearbeiten /etc/sudoersmanuell verwenden visudodafür. Typische Ubuntu-Systeme haben überhaupt kein root-Passwort, sondern verlassen sich vollständig auf sudo.
Michas
@michas Sie können visudo in Debian nicht ohne sudo verwenden. vilösung ist auch nicht möglich, da schreibgeschützt. Gedit funktioniert in meinem Fall.
Léo Léopold Hertz 준영
In Debian 8 können Sie vi ohne sudo als root verwenden. Um in die schreibgeschützte Datei zu schreiben, verwenden Sie: wq!
Das Orakel
Das funktioniert auch bei mir, die große Hilfe in der Tat!
Arefe
Danke für deine Antwort. Aber ich bin nicht einmal in der Lage zu rennensu -
Vishal
42

Folgen Sie dem Link, um Ihr Administratorkennwort zurückzusetzen [es hört sich so an, als hätten Sie Ihr Administratorkonto als "Benutzer" bezeichnet :)]

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

Melden Sie sich danach als Administrator an und führen Sie Folgendes aus.

sudo usermod -aG sudo,adm fsolano

Jetzt können Sie sich als 'fsolano' anmelden und den Befehl sudo ausführen.

Arul Selvan
quelle
1
Entschuldigung, ich habe vergessen zu erwähnen, dass ich dieses Problem vor sehr langer Zeit gelöst habe. Dies ist die Lösung für das Problem, das ich hatte und möglicherweise auch für alle anderen.
fsolano94
3
Ich erhalte die Nachricht auch nach dem Tippen adduser NAME sudo. Ich denke, da muss etwas anderes sein. Ich benutze Debian 7.8.
Tomáš Zato
Dies ist keine ausreichende Lösung in Debian 8.5. ShrikantKhawales Vorschlag mit kleinen Ergänzungen ist hier richtig.
Léo Léopold Hertz 준영
3
@ Masi Der Trick oben tut Arbeit in Debian 8.5 (zumindest hier), aber erst , nachdem Sie sich abmelden und wieder zurück in.
Jcoppens
@jcoppens ist richtig, funktioniert auch für Debian 8.6, erst nach dem
Abmelden
13

Die Konfigurationsdatei /etc/sudoerslistet auf, wer welche Befehle als welcher Benutzer ausführen darf.

Unter Ubuntu enthält diese Datei eine Zeile, in der alle Benutzer der sudoGruppe Befehle als rootBenutzer ausführen können .

Um zu überprüfen, welche Benutzer sich in der sudo-Gruppe befinden, können Sie Folgendes eingeben getent group sudo. Sie können auch die Gruppen Ihres aktuellen Benutzers überprüfen, indem Sie Folgendes eingeben id.

Wahrscheinlich ist Ihr aktueller Benutzer nicht in der sudo-Gruppe und darf den sudoBefehl daher nicht verwenden .

Melden Sie sich als ein sudo-fähiger Benutzer an, wenn Sie ausführen möchten sudo.

michas
quelle
Nun, das ist genau das Richtige. Ich würde mich als Administrator oder Root anmelden, aber ich habe das Passwort vergessen, als ich Ubuntu zum ersten Mal auf meinem Computer installiert habe.
fsolano94
sudo: x: 27: benutzer (ich bin nicht sicher, was das x oder 27 ist, aber ich bin mir sicher, dass benutzer das benutzerkonto ist, das ich nicht kenne / an das passwort erinnere)
fsolano94
@ fsolano94, booten Sie in eine Rettungsumgebung (entweder direkt oder vom Installationsmedium) und ändern Sie das root-Passwort. Oder bearbeiten Sie die /etc/sudoersDatei (vorzugsweise mit visudo(1)).
Vonbrand
6

Ich habe das gleiche Problem mit Kali, wenn ich der sudo-Gruppe einen neuen Benutzer hinzufügen möchte , indem ich den folgenden Befehl eingebe :

usermod -aG sudo newuser

und Bearbeiten des rechten Abschnitts in /etc/sudoers. Alles Mist!

Mein Fix für diesen Unsinn ist, die Zeile für root darunter zu kopieren und root in newuser zu ändern:

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

newuser ALL=(ALL:ALL) ALL

Ich erinnere mich, dass die gewohnte Methode mit usermod funktioniert hat, aber ist es nun ein Bug seit ein paar Jahren? Es ist wirklich Unsinn. Wie auch immer, wenn jemand eine bessere Antwort hat, teile sie bitte :)

Brotfan
quelle
Gleiches Problem bei regulärem Debian (9); /etc/sudoers
Manuelle
4

Führen Sie dies aus, um das Kennwort für Ihren Administratorbenutzer zurückzusetzen.

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

Dann können Sie Ihrem regulären Benutzer mit die Berechtigung sudo erteilen

sudo adduser username sudo

wie du es in deiner ursprünglichen Frage gepostet hast.

Übrigens: Warum installierst du ncurses? Kompilierst du etwas?

Andrew M.
quelle
Ich programmiere Tetris in C und verwende Curses als Plattform für die grafische Benutzeroberfläche. Und ja, ich werde dem Link folgen
fsolano94
1

Sie können der sudo-Gruppe auch einen Benutzer für alle Zugriffsrechte hinzufügen, indem Sie:

  1. Gehen Sie zu Ihrem Root-Verzeichnis Benutzer von sudo su(Ubuntu 16.04 LTS)
  2. Geben Sie dann Ihr aktuelles Benutzerpasswort ein
  3. Typ sudo adduser <username> sudowobei Benutzername der Name des Benutzers ist , dass Sie in der sudoers Liste hinzufügen möchten
  4. Um zu überprüfen, ob Ihr gewünschter Benutzer erfolgreich hinzugefügt wurde getent group sudo, geben Sie ein, das die Liste der sudo-Benutzer anzeigt
Yash Agrawal
quelle
Hallo, willkommen bei Unix SE und herzlichen Glückwunsch zu einer guten ersten Antwort. Ich habe deine Formatierung ein wenig korrigiert, du kannst mehr darüber erfahren, indem du beim Schreiben eines Posts auf "Syntaxhilfe" klickst.
GnP
1
Dies ist keine gute Antwort. (1) Die Frage besagt, dass sudodies für den Benutzer nicht funktioniert. (2) Die Antwort sudo adduser <username> sudowurde bereits gegeben.
G-Man
0

Wenn Sie einen anderen root / admin-Benutzer als 'fsolano' haben, befindet sich dieser nicht in der sudoers-Datei. Dieser Vorfall wird gemeldet:

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

Da der Benutzer 'fsolano' in einen Standardbenutzer geändert wird und Sie einen anderen Benutzer mit Root-Rechten haben, melden Sie sich über den Root-Benutzer an und ändern Sie 'fsolano' mit "Benutzerkonten" in Administrator.

Dovegg
quelle
-1

Die einfachste Möglichkeit, einen Benutzer zur sudoersDatei hinzuzufügen, besteht darin, den folgenden Befehl als Benutzer mit der Berechtigung zum Ausführen auszuführen gpasswd:

sudo gpasswd -a username sudo
monteirobrena
quelle
Dies funktioniert nicht in Debian 8.5.
Léo Léopold Hertz 준영
-1

1.Sie können überprüfen, ob Sie Teil der sudo-Gruppe sind oder nicht, indem Sie den folgenden Befehl verwenden

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

Wir können dies auch anhand des folgenden Skripts überprüfen

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
quelle