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.

Ein Entwickler, der über die Auswahl verschiedener Shells mit der useradd -s Option nachdenkt


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!