it-swarm.it

Come posso passare da una shell sconosciuta a bash?

Sono stato sorpreso di non aver trovato questa domanda già sul sito. Quindi oggi $ è arrivato dopo aver effettuato l'accesso come nuovo utente. Ciò è stato inaspettato perché il prompt del mio utente principale inizia con [email protected]:~$.

Quindi, come posso passare da quest'altra Shell a bash?

41
mouche

Supponendo che Shell sconosciuta supporti l'esecuzione di un comando assoluto, è possibile provare: /bin/bash

Per modificare la Shell predefinita, utilizzare chsh(1). Esempio di utilizzo: chsh -s /bin/bash $USER

62
Kevin M

Digiti bash. Se si desidera che si tratti di una modifica permanente, Shell predefinita in /bin/bash modificando /etc/passwd.

Ecco alcuni frammenti del mio /etc/passwd:

avahi:x:84:84:Avahi daemon:/:/bin/false
xenoterracide:x:1000:100::/home/xenoterracide:/bin/zsh
postgres:x:88:88::/var/lib/postgres:/bin/zsh
bob:x:1001:1001::/home/bob:/bin/bash
usbmux:x:140:140:usbmux user:/:/sbin/nologin

L'ultimo campo contiene Shell, modificando il campo dopo l'ultimo : funzionerà con una Shell valida o non valida. /bin/false e /sbin/nologin entrambi significano che l'utente non ha una vera shell di accesso, anche se se pam non è impostato correttamente questo non significa che non possono accedere (ho segnalato un bug su questo in Arch Linux, perché puoi accedere graficamente senza avere una Shell di login). /bin/bash e /bin/zsh sono entrambe shell valide, vedi /etc/shells per un elenco di shell valide sui tuoi sistemi. Ecco il mio /etc/shells se sei interessato.

/bin/sh
/bin/bash
/bin/ksh
/bin/zsh
/bin/dash

Sì, puoi usare chsh o usermod per fare le stesse cose, ricorda che questi sono solo file di testo strutturati e TIMTOWTDI.

20
xenoterracide

Se chsh o la modifica manuale della configurazione non funziona, ma uno script ~/.profile viene eseguito all'accesso, aggiungi questa riga:

exec /bin/bash --login
12
Kevin Cantu