Comando Linux · 3 min read · Sep 15, 2025
Tutorial sul comando chsh di Linux per principianti (5 esempi)

Il comando chsh (cambia shell) in Linux è un’utilità che consente agli utenti di cambiare la propria shell di login predefinita. La shell di login è l’interfaccia della riga di comando con cui gli utenti interagiscono al momento del login in un sistema simile a Unix. Le shell comuni includono dash, bash, zsh, ksh e fish.
Prima di immergersi nel comando chsh, è essenziale comprendere cos’è una shell di login. La shell di login è il primo processo che viene eseguito sotto il tuo ID utente quando accedi. È responsabile dell’inizializzazione del tuo ambiente e della fornitura di un’interfaccia per interagire con il sistema.
Shell Linux comuni
- Bash (Bourne Again Shell): La shell predefinita per molte distribuzioni Linux, nota per la sua facilità d’uso e le sue funzionalità robuste.
- Zsh (Z Shell): Una versione estesa di bash con molte funzionalità aggiuntive come il completamento automatico migliorato e la personalizzazione.
- Ksh (Korn Shell): Una shell che offre funzionalità di scripting presenti sia in sh che in csh.
- Fish (Friendly Interactive Shell): Nota per le sue funzionalità user-friendly come l’evidenziazione della sintassi e le autosuggerimenti.
- Dash: La shell Linux Dash (dash) è una shell leggera, conforme a POSIX, progettata per la velocità e un uso minimo delle risorse, spesso utilizzata come shell di scripting predefinita nei sistemi basati su Debian.
Il comando chsh di Linux
Come spiegato nell’introduzione sopra, il comando chsh ti consente di cambiare la tua shell di login. Di seguito è riportata la sua sintassi:
chsh [opzioni] [LOGIN]Ecco cosa dice la pagina man dello strumento al riguardo:
Il comando chsh cambia la shell di login dell'utente. Questo determina il nome
del comando di login iniziale dell'utente. Un utente normale può cambiare solo la
shell di login per il proprio account; l'utente super può cambiare la shell di login
per qualsiasi account.Di seguito sono riportati alcuni esempi in stile Q&A che dovrebbero darti una buona idea di come funziona il comando chsh.
D1. Come usare chsh?
L’uso di base è piuttosto semplice: basta eseguire il comando ‘chsh’ senza argomenti. Ti verrà chiesta la password di login e, dopo averla inserita correttamente, avrai l’opzione di cambiare la tua shell di login.
chsh
Nota che la shell di login per l’utente corrente viene cambiata per impostazione predefinita.
D2. Come cambiare la shell di login usando chsh?
Come ci si aspetterebbe, basta inserire il nuovo valore (vedi screenshot nell’esempio precedente) e la tua shell verrà cambiata in quella nuova.
Ad esempio, ho inserito /bin/sh come nuovo valore.

Per verificare la modifica, puoi eseguire di nuovo il comando chsh. Il valore mostrato tra parentesi quadre è la shell corrente. Quindi, nel mio caso, la shell corrente è diventata /bin/sh:

D3. Come cambiare la shell di login per un altro utente?
Per questo, basta specificare il nome utente come input per il comando chsh.
chsh [nome_utente]Ad esempio, per cambiare la shell di login di root, usa chsh nel seguente modo:
chsh root
D4. Come far eseguire chsh in modalità non interattiva?
Usa l’opzione della riga di comando -s per questo, che richiede un nome di shell da passare come input.
Ad esempio:
chsh -s /bin/shIn questo modo, la shell di login per l’utente corrente verrà cambiata in /bin/sh in modo non interattivo.
D5. Come vedere un elenco delle shell di login disponibili nel sistema?
Per dare un’occhiata rapida all’elenco delle shell disponibili nel tuo sistema, basta visualizzare il file /etc/shells.
Ad esempio, ecco l’output prodotto sul mio sistema:
# /etc/shells: shell di login valide
/bin/sh
/bin/bash
/bin/rbash
/bin/dashNota:
L'unica restrizione imposta sulla shell di login è che il nome del comando
deve essere elencato in /etc/shells, a meno che l'invocatore non sia l'utente super, e
allora qualsiasi valore può essere aggiunto. Un account con una shell di login
ristretta non può cambiare la propria shell di login. Per questo motivo, è sconsigliato
inserire /bin/rsh in /etc/shells poiché cambiare accidentalmente a una shell
ristretta impedirebbe all'utente di cambiare mai la propria shell di login al valore
originale.Conclusione
Quindi, vedi, il comando chsh è uno strumento importante di cui gli utenti della riga di comando dovrebbero essere a conoscenza. Qui, in questo tutorial, abbiamo discusso la maggior parte delle opzioni della riga di comando che lo strumento offre. Per saperne di più su chsh, vai alla sua pagina man.
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.