Benutzer in der sudo-Gruppe können den sudo-Befehl nicht verwenden

14

Ich habe einen Benutzer, supersecretuserder sich in der sudoGruppe befindet, aber keinen sudoZugriff hat. Muss noch etwas getan werden, um diesem Benutzer sudoZugriff zu gewähren ?

$ ssh supersecretuser@myserver
supersecretuser@myserver:~$ groups
supersecretuser adm cdrom sudo dip plugdev lpadmin sambashare
supersecretuser@myserver:~$ sudo vim install.sh 
[sudo] password for supersecretuser: 
supersecretuser is not in the sudoers file.  This incident will be reported.

supersecretuser ist der Benutzer, den wir bei der Ubuntu-Installation einrichten.

Jay Mitchell
quelle
4
Haben Sie sich supersecretuserabgemeldet und wieder angemeldet (oder haben Sie zumindest eine neue Anmeldeshell gestartet, z. B. su - supersecretuser), seitdem Sie der sudoGruppe hinzugefügt wurden ?
Steeldriver
Wenn ich als ssh in supersecretuser, kann ich sehen, dass es in der sudoGruppe ist. Muss ich noch etwas tun, um mich abzumelden? Ssh zum Server hinzugefügt, um eine Frage zu stellen.
Jay Mitchell
Wenn Sie einen anderen Superuser haben, würde ich versuchen suspersecretuser, die sudoGruppe erneut hinzuzufügen . sudo adduser supersecretuser sudo. Sie könnten Fehler wie bekommen user is already in group sudo, aber es ist einen Versuch wert.
Dan

Antworten:

8

Da die Fehlermeldung Ihres Benutzers lautet is not in the sudoers file, könnten Sie bitte Ihre /etc/sudoersDatei überprüfen , um zu sehen, ob es eine solche Zeile gibt:

%sudo   ALL=(ALL:ALL) ALL

Wenn diese Zeile fehlt, sind die Benutzer in der sudoGruppe keine Sudoer. Bearbeiten Sie die Datei mit dem visudoBefehl (überprüft die korrekte Synthax und sperrt die Datei).

Sie können auch versuchen, eine benutzerdefinierte Zeile wie die folgende hinzuzufügen:

root    ALL=(ALL:ALL) ALL

Ersetzen Sie rootmit Ihrem Benutzernamen, starten Sie neu und versuchen Sie, ob es funktioniert.

bfrgzju
quelle
Ich kann sudodiese Datei nicht sehen, um zu sagen, dass dies zu 100% das Problem ist. Anhand unseres Chef-Skripts, das wir auf anderen Servern verwenden, kann ich jedoch feststellen, dass wir keinen supersecretuserBenutzer hinzufügen /etc/sudoers.
Jay Mitchell
Vielen Dank für die Antwort, die ich hatte sudound adminaufzeichnen, aber sie wurden nicht mit einem vorangestellt %.
Berezovskyi
6

Nach Ihrer Konversation mit @steeldriver in den Kommentaren ist Ihr Benutzer vermutlich nicht abgemeldet.

Der einfachste Weg , um sicherzustellen , dass das supersecretuserabgemeldet hat , ist in Terminal eingeben, als ein anderer Benutzer, who.

Dabei erhalte ich folgende Ausgabe:

mitch@quartz:~$ who
mitch    :0           2014-09-08 09:49 (:0)
mitch    pts/0        2014-09-08 13:18 (:0.0)

Ich sehe mich nur In ähnlicher Weise wzeigt mir das Tippen in ein Terminal, wer angemeldet ist und was er tut:

USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
mitch    :0       :0               09:49   ?xdm?  29:08   0.11s init --user
mitch    pts/0    :0.0             13:18    5.00s  0.06s  0.01s w

Sie können Ihren anderen Benutzer (SSU, wie ich es nenne) mit dem folgenden Befehl STOPPEN:

pkill -STOP -u SSU

Die einfachste Lösung wäre jedoch, das System neu zu starten, wenn dies möglich ist.

Mitch
quelle
Starten Sie den Server neu, und ich habe keinen sudoZugriff.
Jay Mitchell
Sie haben also die Möglichkeit für Ihren Benutzer verloren, in den Server zu sshen?
Mitch
Sorry, aktualisierter Kommentar. Kann immer noch in den Server ssh, nur nicht sudozugreifen.
Jay Mitchell
Können Sie den ursprünglichen Beitrag mit der Methode aktualisieren, mit der Sie dem Benutzer sudo-Zugriff gewähren?
Mitch
supersecretuserist der Benutzer, den wir bei der Ubuntu-Installation einrichten.
Jay Mitchell
0

Der einfachste Weg, um einen Supersecretuser zur Sufo-Gruppe hinzuzufügen, besteht darin, Supersecretuser ab- sudo gpasswd -a supersecretuser sudound wieder einzuloggen . aber wenn Sie die Fähigkeit zu sudo verloren haben, fürchte ich, müssen Sie neu installieren.

Tolga Ozses
quelle
-1

Nachdem Sie überprüft haben, dass die Dateiberechtigungen richtig sind:

-r--r----- 1 root root x x x x:x /etc/sudoers

Sie haben höchstwahrscheinlich das s-Bit für die ausführbare Datei verloren. Es sollte lauten:

-rwsr-xr-x 2 root root x x x  x /usr/bin/sudo

Wenn nicht, geben Sie mit root-Rechten `an

chmod u+s /usr/bin/sudo

und du solltest okay sein .. es sei denn du weißt, dass du die sudoersDatei selbst geändert hast! :)

grüner Frosch
quelle
3
-1 Probleme mit den Dateiberechtigungen der sudoBinärdatei und der sudoersKonfiguration führen zu anderen Fehlermeldungen als die in der Frage genannten. Sie würden buchstäblich auf unangemessene Dateiberechtigungen verweisen.
David Foerster