Was ist der Unterschied zwischen root und sudo?

14

Ein Root-Benutzer kann alle Berechtigungen haben. Ein normaler Benutzer kann jedoch wie ein Root-Benutzer mit dem Befehl su oder sudo und seinem eigenen Kennwort Zugriff erhalten.

Was ist der Unterschied?

Hieu Nguyen
quelle

Antworten:

7

Für den suBefehl (und sudo) ist traditionell das Passwort von root erforderlich . Sie können jedoch festlegen sudo, dass normale Benutzer Root-Rechte mit ihrem eigenen Passwort erhalten, indem Sie dies ändern /etc/sudoers(als Root, vorzugsweise mit visudo).

Moderne Linux-Distributionen konfigurieren den ersten Benutzer vor, der sudo mit seinem eigenen Passwort ausführen kann. Dies verhindert eine versehentliche Fehlkonfiguration des Systems durch den Benutzer und ermöglicht es ihm, die vollständige Kontrolle zu erlangen, ohne dass ein separates Root-Passwort erforderlich ist.

Phihag
quelle
2
Sie sollten «visudo» verwenden, anstatt die Datei / etc / sudoers manuell zu bearbeiten. Die Syntax wird vor dem Speichern überprüft, was Ihnen einige Probleme ersparen kann.
Nicolas
@Nicolas Aktualisiert, um dies zu berücksichtigen. Ich wollte aber darauf hinweisen, dass die Datei von modernen Distributionen automatisch geschrieben wird.
Phihag
3

Ein normaler Benutzer kann mit sudo nur root-Zugriff erhalten, wenn er sich in der sudoers-Datei befindet (was bedeutet, dass er vertrauenswürdig genug ist, um bei Bedarf Administratorrechte zu erhalten). In einer Produktionsumgebung sollte fast niemand ein Sudoer sein.

Tremmors
quelle
3

Der suBefehl, vorübergehend eine Identität für einen Benutzer auf einem System zu ändern und viele Programme mit seinen Berechtigungen auszuführen. Es muss nicht die Wurzel sein. Wenn der ausführende Benutzer sunicht der Root ist, muss er das Passwort des Benutzers eingeben, dessen Identität er erhalten möchte.

Der sudoBefehl besteht darin , einen Befehl mit den Berechtigungen eines beliebigen Benutzers auszuführen . Es muss nicht auch die Wurzel sein. Der Befehl ist sehr konfigurierbar und bietet eine Art präzise Zugriffskontrolle. Die Eingabe eines eigenen Passworts ist optional und konfigurierbar. Bei einigen Distributionen kann der erste Benutzer des Systems sudoalles ausführen .

Michas
quelle
2

Um zu den obigen Antworten hinzuzufügen,

su user1Wenn Sie das Passwort des Benutzers eingeben, ändern Sie Ihren Berechtigungsnachweis auf user1, bis Sie exit eingeben. Die suStandardeinstellung lautet " root".

sudoKann, wie in anderen Antworten erwähnt, vertrauenswürdigen Benutzern und einer eingeschränkten Reihe von Befehlen gewährt werden. Darüber hinaus sudokann konfiguriert werden, um ausgeführte Befehle zu protokollieren. Dies ist ein guter Weg, um den Missbrauch von Privilegien zu verfolgen.

Lord Loh.
quelle
1

Nicht alle normalen Benutzer können sudo verwenden. Sie müssen sich in der sudoers-Datei befinden und Sie können steuern, welche Befehle oder Befehlstypen der Benutzer ausführen kann. Außerdem können nur bestimmte Benutzer mit su zum Root-Benutzer wechseln. Normalerweise haben Sie nur Sudo-Berechtigungen für einen begrenzten Satz von Befehlen und vollständige su-Berechtigungen für einen begrenzten Zeitraum.

ldg
quelle
3
Ziemlich sicher, dass alle Benutzer su verwenden können. Sie benötigen lediglich das Kennwort des Benutzers, zu dem sie wechseln.
Grady Player
1
Traditionell erfordern BSDs, dass man sich in der Radgruppe befindet, damit mit su root werden kann. Dies kann auch unter Linux konfiguriert werden, ist jedoch kein Standard.
Jaap Eldering
-2

Nur Benutzer mit Superuser-Rechten können sudo oder su, normale Benutzer nicht. Dies wird in / etc / sudoers konfiguriert, welches immer mit visudo bearbeitet werden sollte.

Die Vorteile dieses Systems sind:

  1. Es ist für einen privilegierten Benutzer einfach, Befehle nur bei Bedarf als root auszuführen.
  2. erschwert das Erraten des Root-Benutzernamens (wenn sich beispielsweise ein einfacher SSH-Bot bei einem System anmeldet, ist rootdies der erste zu erratende Anmeldename).
  3. Mehrere Benutzer auf einem gemeinsam genutzten System können über Root-Berechtigungen verfügen, ohne dass Kennwörter freigegeben werden müssen.
Dr. Jimbob
quelle