Warum unterscheidet sich das 'sudo'-Passwort vom' su root'-Passwort?

11

Auf meinem PC tippe ich oft sudovor bestimmten Befehlen, um administrative Aufgaben zu erledigen. Ich hatte gehofft, dies den ganzen Tag über zu vermeiden, indem su rootich das gleiche Passwort eingab und bereitstellte, für das ich normalerweise arbeite sudo. Die beiden Passwörter sind jedoch nicht identisch (ich weiß nicht, wie ich mich anmelden soll su root). Ist das Ausführen eines Befehls sudoanders als das Anmelden mit su rootund Ausführen des gleichen Befehls?

Ich denke sudound bin su rootdas gleiche, denn wenn ich tippe sudo whoami, bekomme ich rootim Gegensatz dazu, whoamiwo ich meinen Benutzernamen bekomme.

Trevor Hickey
quelle
Ich bin auf diesen älteren Thread gestoßen, weil er mit einer von mir gestellten Frage verknüpft war. Die Antworten sind sehr informativ, hinterlassen aber eine Frage. Wie erhalten Sie auf einem PC (einem Benutzer) ein anderes Kennwort für root, je nachdem, ob Sie sudo oder su root verwenden? Gibt es nicht ein einziges Root-Passwort, das bei der Installation von Linux definiert wird?
Fixer1234
@ fixer1234 Wie in der Antwort von John1024 erläutert sudo, fragt das System bei der Verwendung nach Ihrem Kennwort , um Ihre Identität zu überprüfen, und prüft dann, /etc/sudoersob Sie sudo ausführen dürfen. Wenn Sie verwenden su, müssen Sie das Kennwort des Benutzers eingeben, zu dem Sie wechseln . (Ich weiß, dass dies jetzt eine sehr alte Frage ist, aber ich wollte eine Klarstellung zum Nutzen zukünftiger Zuschauer hinzufügen.)
anonymoose
@anonymoose, diese Frage betraf die persönliche Maschine des OP. Wenn Sie Linux auf Ihrem eigenen Computer installieren, wissen Sie normalerweise, ob Sie root ein anderes Kennwort als Ihrem normalen Benutzer gegeben haben. Die Frage zeigt an, dass das OP überrascht war, dass root ein anderes Passwort hatte.
Fixer1234
1
@ fixer1234 Das OP hat möglicherweise zunächst kein Root-Passwort festgelegt. Das Installationsprogramm von Ubuntu fragt nicht nach einem Root-Passwort , und ich bin sicher, dass einige andere Distributionen dies nicht tun.
anonymoose

Antworten:

17

Im Gegensatz zu dem, was ihre häufigste Verwendung Sie führen würde zu denken, suund sudosind nicht nur für die Anmeldung (oder das Ausführen von Aktionen) als root gemeint.

suermöglicht es Ihnen, Ihre Identität mit der einer anderen Person zu wechseln. Aus diesem Grund muss sudas System bei der Eingabe überprüfen, ob Sie über die Anmeldeinformationen für den Zielbenutzer verfügen, in den Sie wechseln möchten.

sudoist ein bisschen anders. Mit sudokönnen Sie bestimmte (oder alle, je nach Konfiguration) Befehle als eine andere Person ausführen. Ihre eigene Identität wird verwendet, um zu bestimmen, welche Arten von Befehlen sudounter der Identität einer anderen Person für Sie ausgeführt werden: Wenn Sie ein vertrauenswürdiger Benutzer sind (in dem Sinne, dass der Systemadministrator Ihnen vertraut), haben Sie mehr freie Hand als beispielsweise ein Praktikant. Aus diesem Grund sudomüssen Sie Ihre eigene Identität und nicht die des Zielbenutzers überprüfen.

Mit anderen Worten, der Versuch, sujemanden zu erreichen, der Sie nicht sind, ist wie der Versuch, Ihre Einkäufe einer gestohlenen Kreditkarte während der Nutzung zu belasten, sudowie der Verkauf des Autos Ihres Freundes durch einen gesetzlichen Vertreter.

Was Sie versucht haben, einfach sudo su rootoder noch einfacher, geben Sie sudo suIhr reguläres Benutzerkennwort ein. Dies würde ungefähr bedeuten, dass Sie die Kreditkarteninformationen Ihres Freundes durch Ihre eigenen ersetzen, indem Sie den gesetzlichen Vertreter verwenden, den Sie erhalten haben :). Es wird natürlich davon sudoausgegangen, dass die Konfiguration die Ausführung sumit eskalierten Berechtigungen ermöglicht.

Bei Systemen, die mit sudoZugriff vorkonfiguriert sind, ist das Root-Konto normalerweise deaktiviert (kein Root-Kennwort). Sie können dies mithilfe des passwdBefehls aktivieren, nachdem Sie Root über geworden sind sudo su.

Joseph R.
quelle
Würden Sie für Privatanwender empfehlen, zusätzlich zu den Benutzern mit Berechtigungen (wie in sudo) das Root-Passwort festzulegen ?
Royi
3

sudowird verwendet, um Benutzerberechtigungen vorübergehend auf Root-Ebene zu eskalieren, während su rooteine neue Shell mit root als Benutzer erstellt wird.

Dave
quelle
2

Es ist konfigurierbar *, aber standardmäßig werden Sie von "sudo" nach Ihrem Passwort gefragt. Es wird nur versucht sicherzustellen, dass Sie es sind, nicht jemand, der Ihre Tastatur benutzt, während Sie Kaffee bekommen haben.

Im Gegensatz dazu werden Sie bei "su root" nach dem Root-Passwort gefragt.


* Wenn targetpw in / etc / sudoers falsch ist (Standard), werden Sie von "sudo" nach Ihrem Passwort gefragt. Wenn dies der Fall ist, werden Sie von "sudo" nach dem Kennwort von root oder, wenn Sie einen anderen Benutzer mit der Option "-u" angegeben haben, nach dem Kennwort dieses Benutzers gefragt.

John1024
quelle
1

Für einige Neulinge in dieser Suche gibt es eine einfache Methode, um bis zum Beenden in root zu wechseln:

     sudo -iE

Hält Sie interaktiv und hält Ihre Umgebung aber jetzt als root.

fcm
quelle