Wie Sie gesehen haben, ist es eine schlechte Praxis, sich direkt mit Root-Rechten beim Server anzumelden. Die bessere Vorgehensweise besteht darin, sich mit einem Standardbenutzerkonto anzumelden und dann Ihre Berechtigungen nach Bedarf auf Root zu erhöhen. Eine Möglichkeit, Berechtigungen zu erhöhen, besteht darin, den Benutzer mit dem Befehl su zu ersetzen. Der su-Befehl ohne Option ermöglicht es einem Benutzer, seine Identität zu der eines anderen Benutzers zu ändern, aber er behält das Profil und die Variablen des ursprünglichen Benutzers bei. Auch der gewechselte Benutzer verbleibt im Home-Verzeichnis des ursprünglichen Benutzers. Jeder, der su verwendet, außer dem Root-Benutzer, wird nach dem Passwort des Benutzerkontos gefragt, zu dem er wechselt.
Die Verwendung von su mit einem darauf folgenden Bindestrich ermöglicht es einem Benutzer, den Benutzer zu wechseln und eine neue Shell im Kontext dieses neuen Benutzers zu starten. Dies ist eine viel bessere Praxis. Jeder, der „su –““ außer dem Root-Benutzer verwendet, wird nach dem Passwort des Benutzers gefragt, zu dem er wechselt. Am häufigsten wird zum Root-Benutzer gewechselt, aber jeder Benutzer kann zu jedem anderen Benutzer wechseln, solange er das Passwort des Benutzers kennt.
Die Syntax des su-Befehls lautet:
$ su [-] [user name]Hinweis :Ohne ein Benutzernamensargument geht der Befehl „su -“ davon aus, dass Sie sich als Root anmelden möchten.
Wenn beim Ausführen des su-Befehls der folgende Fehler auftritt:
su: command not found
Sie können versuchen, das util-linux-Paket wie unten gezeigt gemäß Ihrer Wahl der Distribution zu installieren.
Verteilung | Befehl |
---|---|
OS X | brew install util-linux |
Debian | apt-get install util-linux |
Ubuntu | apt-get install util-linux |
Alpin | apk util-linux hinzufügen |
Arch Linux | pacman -S util-linux |
Kali-Linux | apt-get install util-linux |
CentOS | yum installiere util-linux |
Fedora | dnf install util-linux |
Raspbian | apt-get-Installationsanmeldung |
su-Befehlsbeispiele
1. Wechseln Sie zum Superuser (erfordert das Root-Passwort):
$ su
2. Wechseln Sie zu einem bestimmten Benutzer (erfordert das Passwort des Benutzers):
$ su username
3. Wechseln Sie zu einem bestimmten Benutzer und simulieren Sie eine vollständige Login-Shell:
$ su - username
4. Führen Sie einen Befehl als anderer Benutzer aus:
$ su - username -c "command"
Hinweis
Bei der Ausführung des su-Befehls ist eine Option erlaubt:die Option –. Wenn Sie den Befehl su mit der Option – ausführen, wird eine neue Login-Shell bereitgestellt. Wenn das Zeichen „–“ nicht verwendet wird, wird eine Nicht-Login-Shell bereitgestellt.