Wanneer je Linux ubuntu installeert, is de bash shell standaard ingesteld. Maar wist je dat je in feite al een andere shell kunt gebruiken?

Bij het aanmaken van een nieuwe gebruiker in Linux, kun je de standaard shell instellen die de gebruiker zal gebruiken. De optie die je hiervoor gebruikt is de useradd commando's -s optie. Voor reeds aangemaakte gebruikers kan dit ook worden gewijzigd met de usermod -s commando.

In dit artikel worden de belangrijkste shells die kunnen worden gebruikt met de useradd -s optie en hun kenmerken besproken, evenals hoe je een lijst van beschikbare shells op het huidige systeem kunt bekijken.

Ontwikkelaar die nadenkt over de useradd -s optie waarmee verschillende shells kunnen worden gekozen


1. Soorten en kenmerken van belangrijke shells

Shell pad Shell naam Kenmerken
/bin/bash Bash De meest gebruikte standaard shell. Biedt verschillende functies zoals command editing, autocompletion en script schrijven.
/bin/sh Bourne Shell Lichtgewicht en biedt minimale functionaliteit. Wordt voornamelijk gebruikt voor scripts en in beperkte omgevingen.
/bin/zsh Z Shell (Zsh) Een uitbreiding van Bash. Biedt uitstekende autocompletion en aanpassingsmogelijkheden. De populariteit is recentelijk snel gestegen.
/bin/ksh Korn Shell Een shell die veel gebruikt wordt in commerciële omgevingen. Benadrukt snelheid en efficiëntie.
/usr/bin/fish Fish Shell Aangeraden shell voor beginners vanwege de intuïtieve gebruiksmethode en krachtige autocompletion.
/usr/sbin/nologin of /bin/false Inlogverbod shell Wordt gebruikt om directe login te blokkeren. Vaak gebruikt bij het aanmaken van systeemaccounts of service-accounts.

2. Controleer beschikbare shells op het huidige systeem

De lijst met beschikbare shells op het huidige systeem is opgeslagen in het /etc/shells bestand. Dit kan worden gecontroleerd met het volgende commando.

cat /etc/shells

Voorbeeld van output:

/bin/sh
/bin/bash
/usr/bin/bash
/bin/rbash
/usr/bin/rbash
/usr/bin/sh
/bin/dash
/usr/bin/dash

Alleen de shells die in dit bestand zijn vermeld, kunnen worden gebruikt met de useradd -s optie.


3. Precieze locatie van de nologin shell controleren

Om de exacte locatie van de inlogverbod shell (nologin) op het systeem te controleren, gebruik je het volgende commando.

which nologin

Voorbeeld van output:

/usr/sbin/nologin

Dit kan per systeem verschillen, dus het is aan te raden dit te verifiëren.


4. Voorbeeld van gebruik

Een gebruiker toevoegen die de Bash shell gebruikt

sudo useradd -m -s /bin/bash username

Een gebruiker toevoegen die de Zsh shell gebruikt

sudo useradd -m -s /bin/zsh username

Een systeemgebruiker zonder login toevoegen

sudo useradd -r -s /usr/sbin/nologin username

Voorbeeld van het wijzigen van de shell van een bestaande gebruiker:

sudo usermod -s /usr/sbin/nologin username

Commando om de gewijzigde resultaten te controleren:

cat /etc/passwd | grep username

Normale output voorbeeld:

username:x:1004:1004::/home/django:/usr/sbin/nologin

Nu begrijp je duidelijk de -s optie van useradd en de beschikbare shells, dus zorg ervoor dat je de juiste shell instelt voor een veilige accountbeheer!