Wenn ich sudo
als normaler, nicht privilegierter Benutzer ausgeführt werde, werde ich nach meinem Kennwort gefragt, nicht nach dem Root-Kennwort. Das ist oft praktisch, reduziert aber die Menge an Informationen, die jemand haben müsste, um Befehle als root auszuführen. Wie kann ich also sudo
das root-Passwort anstelle des Passworts des aufrufenden Benutzers anfordern?
Ich weiß, dass dies mit einem Line-In geschehen würde /etc/sudoers
, aber ich kann die BNF-Grammatik in der Manpage nie richtig analysieren, um genau herauszufinden, was ich schreiben soll.
Antworten:
Ok, hier ist es wieder so, dass Sie das Häkchen setzen können.
In
/etc/sudoers
, fügen Sie diese Zeile:Um das rootpw-Flag zu aktivieren, fragt sudo nach dem root-Passwort.
quelle
visudo
Befehl immer verwenden, anstatt die/etc/sudoers
Datei manuell zu bearbeiten .visudo
Überprüft die Datei vor dem Speichern, um sicherzustellen, dass sie korrekt ist, damit Sie bei AuftretenSie müssen die
rootpw
Flagge einschalten .quelle
/etc/sudoers
?Ich weiß, dass diese Frage alt ist, aber es ist die prägnanteste Frage, die ich für diesen Anwendungsfall gefunden habe (ein kleiner Prozentsatz, wahr, aber dennoch legitim und hilfreich im richtigen Szenario).
Nachdem Sie alle Schritte aus verschiedenen Quellen zusammengestellt haben - einschließlich mehrerer Antworten auf diese Frage - funktionieren diese Schritte unter Ubuntu-Gnome 16.04 LTS:
sudo passwd
sudo visudo
Defaults rootpw
Nur eine kurze Anmerkung - ich wollte auch sicherstellen, dass der Root-Benutzer nicht zum Anmelden über die grafische Anmeldung verwendet werden kann, und suchte nach Möglichkeiten, um auszuschließen. Anscheinend ist der Root-Benutzer standardmäßig ausgeschlossen und kann nicht zum Anmelden über die grafische Gnome-Anmeldung verwendet werden - was eine sehr gute Sache ist!
quelle
root ALL=(ALL) ALL Defaults targetpw ALL ALL=(ALL) ALL
Ermöglicht root sudo für jeden Benutzer, der das root-Passwort kennt. Das naive Ändern der letzten beiden Zeilen zu Ihrer LösungDefaults rootpw
führt zu einer Sperrung vonsudo
. Sie müssen auch Ihren Benutzer hinzufügen, um dies zusudoers
mögen:myusername ALL=(ALL) ALL
oder einer Gruppe ähnliche Berechtigungen erteilen und dannmyusername
dieser Gruppe hinzufügen .Eine allgemeine Konfiguration, die das Passwort des Ziels erfordert (nicht das, was wir wollen):
Die zweite Zeile würde laut lauten wie: "ALLE Benutzer auf ALLEN Hosts können sich als (ALLE) Benutzer ausgeben, wenn ALLE Befehle ausgeführt werden." und die
Defaults targetpw
Mittel, die sie benötigen, um das Passwort des Benutzers zu kennen, dessen Identität sie annehmen, um dies zu tun.Naives Ändern dieser einfachen Konfiguration in:
würde keinen Benutzer oder keine Gruppe mit der Berechtigung zum Ausführen von Befehlen als anderer Benutzer zurücklassen.
Eine Arbeitsmöglichkeit wäre:
Im Klartext kann
myuser
jetzt ALL-Befehle als jeder Benutzer auf ALLEN Hosts ausgeführt werden, solange das root-Passwort bekannt ist.Eine andere Arbeitsmöglichkeit wäre:
Jedes Mitglied der
sudousers
Gruppe kann ALLE Befehle als jeder Benutzer auf ALLEN Hosts ausführen, solange das root-Passwort bekannt ist. Damitmyuser
sudo-Befehle ausgeführt werden können,sudousers
müssen sie den sekundären Gruppen hinzugefügt werden.quelle
Sie können sudo einfach ausschalten und verwenden
su -c
.quelle
Verwenden
Damit können Sie so viele Befehle ausführen, wie Sie möchten.
quelle
sudo
zur Eingabe des Root-Passworts übergehe, kann trotzdem jemand Root-Zugriff erlangen, indem nur ein Passwort (nicht das von Root) angegeben wird. Es geht also nicht wirklich um die Sicherheitsbedenken, die meine Frage aufgeworfen haben.