GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Der Unterschied zwischen sudo und su erklärt

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]

Ubuntu
  1. Was ist der Unterschied zwischen Sudo Su – und Sudo Su –?

  2. Unterschied zwischen Sudo-Benutzer und Root-Benutzer?

  3. Der Unterschied zwischen Nss und Pam?

  4. Was ist der Unterschied zwischen Ddrescue, Gddrescue und Dd_rescue?

  5. Ist der Unterschied zwischen Sudo und Gksu derselbe wie der Unterschied zwischen Sudo -i und Sudo -s?

Verstehen des Unterschieds zwischen dem Befehl sudo und su unter Linux

Was ist der Unterschied zwischen Rsync und BTRFS unter Linux?

Was ist der Unterschied zwischen Cat und Touch Command?

Unterschied zwischen apt und apt-get erklärt

Erklärt! Der Unterschied zwischen grep-, egrep- und fgrep-Befehlen

Unterschied zwischen apt und apt-get erklärt