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.
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!
댓글이 없습니다.