Solución:
usermod -s /bin/zsh <username>
Ver man usermod
para más opciones.
La respuesta de Chris Browne funciona bien si no tiene acceso al usuario y tiene privilegios de root.
Si desea cambiar el shell predeterminado de su usuario actual, también puede usar:
chsh -s /bin/ksh
Más información
El shell de inicio de sesión de un usuario se define en un archivo (/etc/passwd
en Debian). Este archivo tiene una entrada para cada usuario con la información ingresada en la creación.
rahmu:x:1000:1000:My Nameisrahmu,,,:/home/rahmu:/bin/bash
anotheruser:x:1001:1001:,,,:/home/anotheruser:/bin/ksh
La última columna es el shell de inicio de sesión. El programa de inicio de sesión lo bifurcará si tiene éxito.
Sin embargo, se recomienda encarecidamente que no modifique este archivo manualmente. Deberías usar chsh
o usermod
cuando sea posible.
Puede cambiar su shell de inicio de sesión con el chsh
mando. Como man chsh
notas, un usuario normal solo puede cambiar el shell para su propia cuenta, mientras que root puede cambiar el shell para todas las cuentas.
/etc/shells
contiene los nombres de ruta de shells de inicio de sesión válidos. Este archivo es consultado por chsh
cuando se invoca.
Las instrucciones de uso chsh
varían según su versión UNIX:
Linux:
chsh -s newshell
Solaris:
chsh newshell
HP-UX
chsh username newshell
AIX
chsh
Esto iniciará una sesión interactiva en la que se le solicitará la ruta completa a su nuevo shell.
Referencia: http://kb.iu.edu/data/benf.html