Einführung
Das sudo
und su
Befehle gehören zu der Gruppe von Befehlen, denen jeder Linux-Benutzer begegnet. Da sie eine ähnliche Syntax haben und sich überschneidende Funktionen haben, sind sich viele neue Benutzer nicht sicher, wann sie sie übereinander verwenden sollen.
In diesem Tutorial erfahren Sie alles über den Unterschied zwischen su
und sudo
.
sudo gegen su
Sowohl su
und sudo
Erhöhen Sie die dem aktuellen Benutzer zugewiesenen Berechtigungen.
Der Hauptunterschied zwischen den beiden besteht darin, dass su
erfordert das Passwort des Zielkontos, während sudo
erfordert das Passwort des aktuellen Benutzers. Daher ist es viel sicherer, sudo
zu verwenden da es nicht den Austausch vertraulicher Informationen beinhaltet.
Außerdem ist es ratsam, sich an sudo
zu halten beim Ausführen von Aufgaben, die Root-Rechte erfordern. Dadurch wird dem aktuellen Benutzer nur das Privileg für den angegebenen Befehl gewährt. Andererseits su
wechselt vollständig zum Root-Benutzer, wodurch das gesamte System möglichen versehentlichen Änderungen ausgesetzt wird.
Verwendung des su-Befehls
Die su
Befehl steht für Ersatzbenutzer , und es wird hauptsächlich zum Wechseln von einem Benutzer zu einem anderen verwendet. Dies geschieht durch Starten einer Login-Shell im aktuellen Verzeichnis und in der aktuellen Umgebung (su
) oder indem man komplett auf die Einstellung des Zielbenutzers wechselt (su -
) .
Die Hauptsyntax ist:
su [user_name]
oder
su - [user_name]
Wenn der Befehl ohne das Argument verwendet wird, wechselt er zum Superuser (root )-Konto.
Wie funktioniert der su-Befehl?
Um die Shell eines anderen Benutzers innerhalb des Arbeitsverzeichnisses/der Benutzerumgebung aufzurufen, verwenden Sie den su
Befehl (ohne Bindestrich).
Zum Beispiel, um als Benutzer namens phoenixnap zu agieren , ausführen:
su phoenixnap
Geben Sie dann das Passwort für phoenixnap ein Konto ein und drücken Sie Enter .
Die Shell sollte sich ändern und anzeigen, dass Sie jetzt Bedienerzugriff auf das angegebene Konto haben. Die Benutzerumgebung bleibt jedoch dieselbe, wie im Bild unten:
Wie funktioniert der Befehl su – [Bindestrich]?
Um zu einem anderen Benutzer zu wechseln und zu dieser Zielbenutzerumgebung zu wechseln, verwenden Sie su -
Befehl.
Wechseln Sie daher zum phoenixnap user und wechseln Sie zu seiner Login-Shell, geben Sie den Befehl ein:
su - phoenixnap
Geben Sie das Passwort für phoenixnap ein Konto ein und drücken Sie Enter bestätigen. Die Ausgabe sollte ähnlich wie im folgenden Bild aussehen:
Verwendung des sudo-Befehls
sudo
wird als Präfix für Linux-Befehle verwendet, wodurch der angemeldete Benutzer Befehle ausführen kann, die Root-Rechte erfordern. Im Gegensatz zu su
, das sudo
Befehl in Linux erfordert die Angabe des Passworts für den Benutzer, der den Befehl ausführt.
Alle administrativen und ausführbaren Aufgaben erfordern die maximale Berechtigung (von root gehalten). In solchen Fällen wird die Verwendung von sudo
empfohlen .
Die Hauptsyntax ist:
sudo [command]
Bevor das System den Befehl ausführt, fragt es nach dem Passwort des aktuellen Benutzers.
Denken Sie daran, dass die sudo
Option kann nur von Benutzern verwendet werden, die zu den sudoers gehören Gruppe.
Hinzufügen eines Benutzers zur Sudoers-Gruppe
Damit ein Benutzer einen Befehl ausführen kann, der sudo
erfordert Präfix, es muss Teil der sudoers sein Gruppe.
Um einen Benutzer zu den Sudoern hinzuzufügen group, führen Sie den folgenden Befehl aus (als root oder mit einem Konto, das bereits über sudo-Berechtigungen verfügt):
usermod -aG sudo [user_name]
Zum Beispiel, um das Konto phoenixnap hinzuzufügen , würden Sie Folgendes eingeben:
sudo usermod -aG sudo phoenixnap
Um eine Liste der Konten anzuzeigen, die zur Gruppe sudoers gehören, führen Sie Folgendes aus:
sudo getent group sudo
Die Ausgabe sollte das im vorherigen Schritt hinzugefügte Konto anzeigen:
Wie sudo und su auf verschiedenen Linux-Distributionen funktionieren
su
ist ein älterer, aber umfassenderer Befehl, der in allen Linux-Distributionen enthalten ist. Dies ist die herkömmliche Methode, um zum Root-Konto zu wechseln.
Linux rät davon ab, als Root zu arbeiten, da dies zu unerwünschten systemweiten Änderungen führen kann, und schlägt die Verwendung von sudo
vor stattdessen. Aus diesem Grund alle Ubuntu-basiert Releases sind sudo-only , was bedeutet, dass das Root-Konto standardmäßig nicht aktiv ist.
Während der Installation eines Ubuntu-Betriebssystems erstellen Sie einen Benutzer, der automatisch als Teil der sudoers-Gruppe bezeichnet wird. Es gibt jedoch keine Einrichtung des Root-Kontos. Um den Root-Benutzer zu aktivieren, müssen Sie ihn manuell aktivieren.
Andererseits erstellen andere Linux-Distributionen wie Fedora bei der Installation ein Root- und Benutzerkonto.
Aktivieren des Root-Kontos
Wenn Sie eine Ubuntu-basierte Distribution verwenden und versuchen, zum Root-Benutzer zu wechseln, informiert Sie die Ausgabe darüber, dass ein Authentifizierungsfehler vorliegt .
Um den Root-Benutzer zu aktivieren, führen Sie den passwd-Befehl aus:
sudo passwd root
Als nächstes fordert die Ausgabe dazu auf, das Passwort für den Root-Benutzer festzulegen. Geben Sie ein sicheres Passwort ein und wiederholen Sie es, und drücken Sie dann die Eingabetaste. Das System sollte Sie benachrichtigen, dass das Passwort erfolgreich aktualisiert wurde.
Vergewissern Sie sich, dass der Root-Benutzer aktiv ist, indem Sie mit su -
zu seiner Anmelde-Shell wechseln .
Zusätzliche Funktionen
Obwohl sudo
hauptsächlich mit der Ausführung von Befehlen mit Root-Rechten verknüpft ist, kann es auch verwendet werden, um den Root-Benutzer zu ändern. Wechseln Sie zum Root-Benutzer und erwerben Sie die Root-Umgebung mit:
sudo -i
Geben Sie das Passwort für den aktuell verwendeten Benutzer ein. Sie sollten sich jetzt in der Root-Shell befinden.
Ebenso su
kann auch als sudo
fungieren und führen Sie einen einzigen Befehl als Root aus:
su -c [command]