Devi aver familiarità con la shell bash che usiamo comunemente nel sistema Linux. Nella maggior parte dei sistemi operativi Linux la shell predefinita è bash, ma sai che possiamo cambiare la shell bash predefinita in qualsiasi altra shell come sh, fish, zsh, csh ecc. In questo articolo impareremo come cambiare l'utente predefinito shell nel sistema operativo Linux.
Trova il nome della shell corrente
Per modificare la shell utente predefinita, trova prima di tutto la shell corrente che stai utilizzando. Nel sistema Linux, la shell utente predefinita è bash. Esiste un file denominato passwd nella directory /ecc che memorizza le informazioni essenziali sull'account utente necessarie durante l'accesso dell'utente. Possiamo identificare la shell dell'utente corrente utilizzando quel file.
Esegui il comando seguente per controllare le informazioni sull'utente corrente memorizzate nel file /etc/passwd.
$ grep <current_user> /etc/passwd
Esempio
$ grep aayush /etc/passwd
Nell'esempio sopra, aayush è il nome utente e bash è la shell corrente.
Inoltre, puoi usare il comando echo per controllare la shell dell'utente corrente.
$ echo $SHELL
Elenca le shell disponibili in Linux
Per cambiare la shell predefinita dell'utente, dobbiamo scoprire gli elenchi di shell disponibili nel sistema Linux.
Le shell installate possono essere elencate usando il comando seguente.
$ cat /etc/shells
Si può notare che nel sistema sono disponibili diversi tipi di shell come bash, rbash e dash.
Prima di cambiare la shell, ricorda le seguenti cose.
- L'utente root può essere utilizzato per modificare la shell di accesso di altri utenti
- Se un account utente ha una shell di accesso limitata, solo l'utente root può modificare la shell dell'utente
- Gli utenti potranno cambiare la shell elencata solo in /etc/shells.
Cambiare la shell sh predefinita in shell bash
Nel sistema operativo Linux, ci sono molti modi per cambiare la shell di login predefinita. In questo articolo spiegheremo alcuni metodi comunemente usati.
Utilizzo dell'utilità chsh
Se vuoi cambiare la shell utente predefinita, allora chsh l'utilità può essere molto utile. Esegui il comando chsh con l'opzione -s per cambiare la shell dell'utente. Modifica anche il /etc/passwd file.
$ chsh -s /bin/sh aayush
Dove , aayush è il nome utente e sh è la shell che cambieremo.
In questo esempio, la shell utente predefinita è stata modificata da bash a sh.
Utilizzo del comando usermod
L'utilità usermod è un altro modo per modificare l'account utente. Devi solo specificare l'opzione -s o -shell per cambiare la shell predefinita per un utente. Ricorda che devi disporre di un account con privilegi di root per apportare le modifiche. L'uso di usermod non cambia la shell corrente dell'utente ma imposta una shell predefinita da utilizzare al prossimo accesso.
$ sudo usermod -s /bin/bash aayush
Nell'esempio sopra, la shell predefinita dell'utente è stata modificata da bash a sh.
Modificando nel file passwd
Nel sistema Linux, le informazioni essenziali dell'utente sono memorizzate nel file /etc/passwd che è necessario per accedere. La shell utente predefinita può anche essere modificata modificando manualmente questo file. Per questo modifica il file /etc/passwd usando un qualsiasi editor di testo e cambia la shell dopo il nome utente e la home directory di un utente e salva un file.
$ sudo vi /etc/passwd
Cambia la shell dell'utente corrente
Modificare la shell dell'utente corrente è semplice e facile. Basta digitare la shell che si desidera utilizzare nel terminale. Ma questo non cambia la shell predefinita per il prossimo accesso.
$ rbash
Conclusione
In questo articolo, abbiamo imparato diversi modi per cambiare la shell utente predefinita nel sistema operativo Linux