Risposte:
Prova il comando linux chsh
.
Il comando dettagliato è chsh -s /bin/bash
. Ti verrà richiesto di inserire la password. La shell di accesso predefinita è /bin/bash
ora. È necessario disconnettersi e riconnettersi per vedere questa modifica.
Quanto segue è citato dalla pagina man:
Il comando chsh modifica la shell di accesso dell'utente. Ciò determina il nome del comando di accesso iniziale dell'utente. Un utente normale può modificare solo la shell di accesso per il proprio account, il superutente può modificare la shell di accesso per qualsiasi account
Questo comando modificherà permanentemente la shell di accesso predefinita.
Nota: se l'account utente è remoto, ad esempio sull'autenticazione Kerberos (ad es. Enterprise RHEL), non sarà possibile utilizzarlo chsh
.
chsh: can only change local entries; use ypchsh instead
. Quindi ypchsh non ha alcuna -s
opzione
/etc/passwd
, ma non ho ricontrollato.
exec /bin/bash
a ~/.profile
, e questo mi ha permesso per accedere direttamente a bash senza apportare alcuna modifica al server. (La shell di default originale era solo /bin/sh
)
exit
bash? Esci dal server direttamente o semplicemente esci da bash e in sh e un altro exit
richiesto per disconnettersi dal server?
È possibile modificare il file passwd direttamente per l'utente specifico o utilizzare il comando seguente
chsh -s /usr/local/bin/bash username
Quindi disconnettersi e accedere
which bash
prima di invocare il comando sopra; il chilometraggio può variare in base alla posizione. Nel mio caso, è stato trovato in/bin/bash
chsh
comando fa parte del util-linux
pacchetto; e chsh -s $(which bash) $USER
dovrebbe risultare come sopra.
-l
un'opzione: "stampa l'elenco delle shell".
chsh -s /bin/bash username
per me
Dovresti avere uno 'scheletro' da qualche parte in /etc
, probabilmente /etc/skeleton
, o controllare le impostazioni predefinite, probabilmente /etc/default
o qualcosa del genere. Questi sono script che definiscono le variabili di ambiente standard che vengono impostate durante un accesso.
Se è solo per il tuo account: controlla il file (nascosto) ~/.profile
e ~/.login
. O generali, se non esistono. Anche questi vengono valutati dal processo di accesso.
/etc/default/useradd