Wenn Sie Linux Ubuntu installieren, wird die Bash-Shell standardmäßig eingerichtet. Aber wussten Sie, dass Sie bereits andere Shells verwenden können?
Beim Erstellen eines neuen Benutzers in Linux können Sie die Standard-Shell angeben, die der Benutzer verwenden soll. Die dazu verwendete Option ist die -s
Option des useradd
Befehls. Bei bereits erstellten Benutzern können Sie den Shell mit dem Befehl usermod -s ändern.
In diesem Artikel werden wir die Hauptshells zusammenfassen, die Sie mit der -s
Option von useradd
verwenden können, sowie die Merkmale jeder Shell und wie Sie die Liste der auf dem aktuellen System verfügbaren Shells abrufen können.
1. Hauptshells und deren Merkmale
Shell-Pfad | Shell-Name | Merkmale |
---|---|---|
/bin/bash |
Bash | Die am weitesten verbreitete Standardshell. Bietet eine Vielzahl von Funktionen wie Befehlseingabe, Autovervollständigung und Skripterstellung. |
/bin/sh |
Bourne Shell | Leichtgewichtig und bietet grundlegende Funktionen. Wird hauptsächlich in Skripten und eingeschränkten Umgebungen verwendet. |
/bin/zsh |
Z Shell (Zsh) | Erweiterung von Bash. Bietet hervorragende Autovervollständigung und Anpassungsmöglichkeiten. In letzter Zeit sehr populär geworden. |
/bin/ksh |
Korn Shell | Eine Shell, die in kommerziellen Umgebungen weit verbreitet ist. Betont Geschwindigkeit und Effizienz. |
/usr/bin/fish |
Fish Shell | Wird Anfängern empfohlen, aufgrund der intuitiven Bedienung und der starken Autovervollständigung. |
/usr/sbin/nologin oder /bin/false |
Shell ohne Login | Wird verwendet, um die direkte Anmeldung zu blockieren. Häufig verwendet, wenn Systemkonten oder Dienstkonten erstellt werden. |
2. Verfügbare Shells im aktuellen System überprüfen
Die Liste der verfügbaren Shells im aktuellen System wird in der Datei /etc/shells
gespeichert. Sie können dies mit dem folgenden Befehl überprüfen.
cat /etc/shells
Beispielausgabe:
/bin/sh
/bin/bash
/usr/bin/bash
/bin/rbash
/usr/bin/rbash
/usr/bin/sh
/bin/dash
/usr/bin/dash
Nur die in dieser Datei aufgeführten Shells können mit der -s
Option des useradd
Befehls verwendet werden.
3. Den genauen Pfad der nologin Shell überprüfen
Um den genauen Speicherort der Shell, die das Einloggen blockiert (nologin
), im System zu überprüfen, verwenden Sie den folgenden Befehl.
which nologin
Beispielausgabe:
/usr/sbin/nologin
Da dies je nach System variieren kann, ist es ratsam, dies zu überprüfen.
4. Anwendungsbeispiele
Benutzer hinzufügen, der die Bash Shell verwendet
sudo useradd -m -s /bin/bash username
Benutzer hinzufügen, der die Zsh Shell verwendet
sudo useradd -m -s /bin/zsh username
Benutzer hinzufügen, der sich nicht anmelden kann
sudo useradd -r -s /usr/sbin/nologin username
Beispiel für das Ändern der Shell eines bestehenden Benutzers:
sudo usermod -s /usr/sbin/nologin username
Befehl zur Überprüfung des geänderten Ergebnisses:
cat /etc/passwd | grep username
Normale Ausgabe:
username:x:1004:1004::/home/django:/usr/sbin/nologin
Jetzt haben Sie ein klares Verständnis der -s
Option von useradd
und der verfügbaren Shells, sodass Sie Konten sicher mit der richtigen Shell verwalten können!
Es sind keine Kommentare vorhanden.