Benutzer nicht in der sudoers-Datei. Dieser Vorfall wird gemeldet

24

Ich muss ein Paket installieren. Dafür brauche ich root-Zugang. Allerdings sagt das System, dass ich nicht in sudoers Datei bin. Wenn Sie versuchen, eine zu bearbeiten, beschwert es sich gleichermaßen! Wie soll ich mich der sudoers-Datei hinzufügen, wenn ich nicht berechtigt bin, eine zu bearbeiten?

Ich habe dieses System installiert und nur Administrator. Was kann ich tun?

Edit : Ich habe es visudoschon versucht . Es setzt voraus, dass ich in erster Linie Sudoer bin.

amarzaya@linux-debian-gnu:/$ sudo /usr/sbin/visudo 

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

[sudo] password for amarzaya: 
amarzaya is not in the sudoers file.  This incident will be reported.
amarzaya@linux-debian-gnu:/$ 
Sergiy Belozorov
quelle
4
Na klar user not(is) the sudoers file. (Tippfehler im Titel)
Hello71
8
Sie sind jetzt auf der Freche
Aaron Newton

Antworten:

18

Es wäre so etwas wie eine Sicherheitslücke, wenn Sie sich selbst hinzufügen könnten, /etc/sudoersohne sudo oder root-Zugriff zu haben. Grundsätzlich könnte sich dann jeder selbst wurzeln.

Grundsätzlich müssen Sie die Administratoren dieses Computers bitten, Sie hinzuzufügen oder das Paket gemäß den Richtlinien der Site für Sie zu installieren.

Sie sollten auch visudo verwenden, um die sudoers-Datei zu bearbeiten - es überprüft, ob die Syntax korrekt ist, bevor Sie die Datei schreiben. Mit visudo können Sie auch andere Editoren als vi verwenden. Standardmäßig wird verwendet, was auch immer Sie eingestellt haben, $EDITORund wenn Sie es nicht eingestellt haben, können Sie dies tun

# EDITOR=nano visudo

Verwenden Sie stattdessen den Nano-Editor.

Hamish Downer
quelle
5
Ich bin der Administrator, da dies mein Computer ist und ich dieses System installiert habe, aber es hilft nicht :(
Sergiy Belozorov
9
Wenn es Ihr System ist, sollten Sie bei der Installation ein Kennwort für den Root-Benutzer eingegeben haben. Loggen Sie sich als 'root' ein und machen Sie dann das Visudo-Zeug.
Hamish Downer
Tatsächlich. Mein Fehler. Ich habe vergessen, dass ich bei der damaligen Installation das Passwort eingegeben habe.
Sergiy Belozorov
24

Melden Sie sich als root an und verwenden Sie /usr/sbin/visudo, um die Datei zu bearbeiten und Ihren Benutzernamen hinzuzufügen. Normal vi / vim kann die Datei nicht bearbeiten.

Der einfachste Weg ist, einfach nach unten zu gehen, bis Sie die Zeile " root ALL=(ALL) ALL" sehen, und sich darunter mit der gleichen Syntax ( yourusername ALL=(ALL) ALL) hinzuzufügen . Oder Sie können die sudoers-Manpage lesen, wenn Sie sich spezifischere Berechtigungen geben möchten.

Ricket
quelle
Es erfordert, dass ich in erster Linie in der Sudoer-Liste stehe, um visudo ausführen zu können. Ich habe dieses Debian installiert, da kein anderer Admin.
Sergiy Belozorov
Wenn Sie als root angemeldet sind, müssen Sie nicht ausgeführt werden sudo visudo. renn einfach /usr/sbin/visudo. Aber es sieht so aus, als hätten Sie dies bereits aus den Kommentaren der anderen Antwort herausgefunden.
Ricket
reicht es nicht aus, den jeweiligen Benutzer der Gruppe "sudo" oder "sudoers" (je nach Distribution) hinzuzufügen? Leider hat es in meinem Fall nicht funktioniert, aber ich könnte schwören, dass dies früher funktioniert hat ...?
Gregor
5

Einfach den Befehl eingeben:

$ su

Und nach dem Passwort "root" gefragt. Getippt und boomt ... es hat funktioniert!

Dieses Problem war mein Fehler. Da ich zu dem Zeitpunkt zurück in der Einrichtung war, als ich den Benutzernamen und das Passwort erstellt habe.

Carlos Trisotto
quelle
Danke, das war wirklich hilfreich und hat meinen Speck gerettet! Aber ich bin neugierig, warum das Hinzufügen dieses Befehls und dann des Root-Passworts erhöhte Berechtigungen ermöglichen würde ... scheint den Zweck der Meldung "Benutzer nicht in der sudoers-Datei. Dieser Vorfall wird gemeldet" eher zu vereiteln
Sol
1

Vielleicht ist der einfachste Weg, sobald Sie root sind:

echo 'amarzaya ALL=(ALL) ALL' >> /etc/sudoers

quelle
7
Sie sollten unbedingt visudo verwenden, um die sudoers-Datei zu bearbeiten, anstatt sie direkt zu bearbeiten oder Text an sie zu senden. Auf diese Weise stellen Sie sicher, dass die Syntax korrekt ist und dass Sie sich nicht den Zugriff verweigern oder jemandem einen unzulässigen Zugriff gewähren.
pkaeding
1

Wenn Ihre sudoers-Datei bereits diese Art von Zeile enthält

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

Dann ist es wahrscheinlich am saubersten, die adminGruppe Ihrem Benutzer zuzuweisen. So fügen Sie beispielsweise der Gruppe ein Benutzerorakel hinzu :admin

usermod -aG admin oracle
Alain Pannetier
quelle
Das habe ich gesucht. Für mich auch das sauberste, kein Durcheinander mit der sudoers-Datei.
Webjunkie
1
Der korrekte Befehl lautetusermod -g oracle admin
kvanberendonck
-1: Die Syntax lautet usermod -g $group $user. Sie denken wahrscheinlich an die adduserSyntax adduser $user $group.
Blacklight Shining
1
… Eigentlich wirst du es wahrscheinlich wollen usermod -aG $group $user. -gLegt die primäre Gruppe des Benutzers auf die von Ihnen angegebene fest. -GOhne -awird der Benutzer aus nicht aufgelisteten Gruppen entfernt. -gändert auch den Gruppeneigentum aller Dateien, die der vorherigen Gruppe im Ausgangsverzeichnis des Benutzers gehören. Also, wenn du wie ich bist und deine Umask auf 007... eingestellt hast
Blacklight Shining
1
@BlacklightShining. Du hast recht. Die falsche Syntax wurde von einem früheren Kommentator vorgeschlagen, und da oraclees sich häufig auch um eine Gruppe handelt, besteht in der Tat Raum für Verwirrung. Ich hätte nicht "korrigieren" sollen.
Alain Pannetier
-1

Falls Sie mit immer noch Root-Zugriff haben su, können Sie mit diesem Einzeiler Folgendes hinzufügen /etc/sudoers/:

su -c 'echo $USER ALL=(ALL)ALL >> /etc/sudoers'

Melden Sie sich ab und wieder an, um die Änderung zu aktivieren. Zum Beispiel beenden Sie die X-Sitzung oder melden Sie sich über die Shell-Eingabe ab exit.

Bengt
quelle
-1: Siehe pkaedings Kommentar .
Blacklight Shining
-1

Wenn Sie den sudoBefehl nicht verwenden können , können Sie die folgende Methode verwenden:

  1. Drücken Sie Ctrl+ Alt+F1
  2. Melden Sie den Benutzer ab, wenn der Benutzer nicht root ist
  3. Melden Sie sich als root an
  4. Verwenden Sie Root-Rechte
  5. Melden Sie sich ab ( exit) - Ctrl+ Alt+ F7, um zur GUI zu gelangen
user3113604
quelle
-1: Dies funktioniert nur in einigen lokalen Umgebungen mit einer GUI.
Blacklight Shining
-1

Alles , was Sie benötigen , um Ihre hinzufügen <username>zu whellGruppe.

# usermod -aG whell username

Dann melde dich mit deinem Benutzernamen an und genieße :)

EFernandes
quelle
-3

Melden Sie sich mit den folgenden zuerst an:

$ su

Dann machen Sie weiter mit:

$ sudo apt-get update

oder was auch immer als normal

Alastair
quelle
1
du brauchst nicht su- sudo macht das.
Simon Sheehan
Sie sind nicht ganz dasselbe. sudo ist 'Als Superuser ausführen', aber Sie melden sich mit dem Passwort Ihres Benutzers an. su ist 'Benutzer wechseln' und versucht standardmäßig (ohne Argumente), zum Root-Benutzer zu wechseln. In diesem Fall müssen Sie das Root-Passwort eingeben. Sie haben aber auch Recht - die Verwendung von sudo nach su ist überflüssig, da Sie bereits der Root-Benutzer wären.
Aaron Newton
@ aaron.newton Ich würde es tatsächlich als Switch User und DO lesen; Sie können einen beliebigen Benutzer auswählen, der den Befehl wie mit dem -uFlag ausführt. Es wird hauptsächlich für root verwendet, ist es aber auch su.
Blacklight Shining
@ aaron.newton Ich würde es tatsächlich als Switch User und DO lesen; Sie können einen beliebigen Benutzer auswählen, der den Befehl wie mit dem -uFlag ausführt. Es wird hauptsächlich für root verwendet, ist es aber auch su.
Blacklight Shining