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

Cambia shell in bash su Ubuntu

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.

Come cambiare la shell di login usando chsh

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:

Imposta nuova shell di login

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

Come cambiare la shell di login per un altro utente

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/sh

In 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/dash

Nota:

       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.

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.