Was macht Su in Linux und wie man es benutzt??

Was macht Su in Linux und wie man es benutzt??
Die Unix/Linux su (Ersatz Benutzer) Befehl ermöglicht es Benutzern, andere Benutzer zu werden. Es wurde angenommen, dass dieser Befehl Berechtigungen eskaliert, indem er ein privilegierter Benutzer wurde. Daher ist der Standardbenutzer das Root, wenn kein Benutzer angegeben ist.

Durch Ausführen des SU -Befehls können Sie Root werden oder zu einem anderen Benutzer wechseln. Dieses Tutorial erklärt alle su Verwendungen und die Unterschiede mit dem sudo Befehl.

Wie bereits erwähnt, wenn Sie das ausführen su Befehl ohne Benutzer werden standardmäßig root, wie im Screenshot unten gezeigt.

su

Wenn Sie die ausführen su Befehl gefolgt von einem Benutzer, werden Sie dieser Benutzer. Natürlich, wenn Sie bei der Ausführung von Wurzeln sind su, Sie werden nicht angefordert, das Passwort des Benutzers einzugeben.

su

Wie Sie im obigen Beispiel sehen können, änderte sich der Benutzer vom Root zum angegebenen Benutzer LinuxHint. Das aktuelle Verzeichnis bleibt jedoch bestehen. Sie können die implementieren -l FALL, um das aktuelle Verzeichnis für das Home -Verzeichnis des Zielbenutzers zu ändern und Sie automatisch vom aktuellen Verzeichnis zum Haus des Benutzers zu bewegen.

Su -l

Bei der Implementierung der -l Flagge, nicht nur das aktuelle Verzeichnis ändert sich. Andere Merkmale dieser Flagge sind:

  • Umgebungsvariablen werden gelöscht, mit Ausnahme der Begriffsvariable für die terminalen Handhabung und whitelistische Variablen.
  • Laden Sie Umgebungsvariablen Benutzer, Logname, Start, Shell und Pfad.
  • Verwandelt die Schale in eine Anmeldeschale.
  • Ändert das aktuelle Verzeichnis für das Heim des Zielbenutzers.

Eine andere Möglichkeit, das gleiche Verhalten zu reproduzieren, besteht darin, die zu ersetzen -l Flagge nur für einen Bindestrich (-), Wie nachfolgend dargestellt.

su -

Wie Sie sehen können, änderte sich der Benutzer und auch das aktuelle Verzeichnis.

Der su Der Befehl kann verwendet werden, um Befehle als einen anderen Benutzer auszuführen. Wie in den folgenden Beispielen gezeigt, können Sie das Flag -c (Befehl) hinzufügen.

Lassen Sie uns zunächst sehen, was passiert, wenn wir versuchen, den Inhalt des Stammverzeichnisses zu lesen, ohne Root zu sein:

Wie Sie sehen können, hat der Benutzer keine Berechtigungen, das Stammverzeichnis zu lesen. Wie unten gezeigt, kann dies mit dem SU -Befehl mit dem Flag -c (Befehl) erfolgen.

SU -c 'ls /root' root

Wie Sie in der Syntax sehen, müssen Sie den SU ​​-Befehl mit dem aufrufen -C Flag, gefolgt von den Befehlen, die Sie zwischen Anführungszeichen und dem Benutzer ausführen möchten, den Sie den Befehl ausführen möchten, als in diesem Fall der Root -Benutzer.

Der Runuser Befehl:

Es gibt eine Alternative für die su Befehl benannt Runuser. Der Unterschied zwischen diesen beiden Befehlen besteht darin, dass Runuser nur von der Wurzel verwendet werden kann. Der Befehl runuser fordert kein kennwort an und hat eine andere pAM.

Wie Sie vielleicht wissen, ist das Ausführen von Browsern als Root verboten, eine schlechte Praxis; Ihr System muss Sie daran hindern, dies zu tun.

Wenn Sie root sind und eine unsichere Anwendung als Root starten möchten, können Sie beide verwenden su Befehl, gefolgt von der -C Flagge wie zuvor erläutert oder die Runuser Befehl im Beispiel unten angezeigt, gefolgt von der -u Flag, den Benutzer, den Sie den Befehl als ausführen möchten, und den Befehl, den Sie ausgeführt werden möchten.

Runuser -U LinuxHint Firefox

Der sudo Befehl:

Der sudo Der Befehl ist die am häufigsten verwendete Alternative, um Befehle als privilegierter Benutzer auszuführen. Es ist eine begrenzte Methode, um Privilegien zu erhalten. Wenn Sie Sudo verwenden, werden Sie nicht in der Root, aber Sie erhalten die Erlaubnis, einen bestimmten Befehl auszuführen.

Bei Verwendung der zuvor erklärten su Befehl, Sie müssen das Zielbenutzerkennwort ausfüllen. Wenn Sie Sudo verwenden, müssen Sie das aktuelle Benutzerkennwort eingeben, anstatt das Zielbenutzerkennwort zu tippen. Wenn der Benutzer in der ist sudoers Gruppe, er wird den Befehl ausführen können; Wenn der Benutzer nicht in der ist sudoers Gruppe, er wird nicht in der Lage sein.

Es ist ziemlich einfach, einen Befehl als sudo auszuführen. Geben Sie einfach Sudo vor den Befehl ein, wie unten gezeigt.

sudo ls /root

Damit ein Benutzer Befehle mit sudo ausführen kann, müssen Sie ihn zur Sudoers -Gruppe hinzufügen. Führen Sie den folgenden Befehl aus, um einen Benutzer zur Sudoers -Gruppe hinzuzufügen.

Usmod -ag sudo

Jetzt kann der Benutzer Befehle ausführen, die Berechtigungen durch Eingabe erfordern sudo.

Abschluss:

Die Befehle SU, Runuser und Sudo sind einfach zu implementieren und gehören zu den grundlegendsten Linux -Befehlen, die jeder Benutzer wissen muss. Das Erlernen der Verwendung dieser Befehle erhöht die Sicherheit von der Benutzerseite (am stärksten). Das Sudo -Präfix für privilegierte Befehle ist die beste Alternative, um Ihr System sicher zu halten. Einige Linux -Verteilungen deaktivieren automatisch die Stammanmeldung, so dass Sudo als Standardmethode gelten.

Ich hoffe, dieses Tutorial zeigt, was der Befehl SU tut und wie es implementiert werden soll. Folgen Sie diesem Blog weiter für weitere Linux -Tipps und Tutorials.