Bash no es completamente funcional para un nuevo usuario

19

Acabo de crear un nuevo usuario en mi sistema usando useradd -d /home/users/john -m john(Usando Ubuntu 11.04). Esto funcionó bien, pero cuando cambié a john, mi bash no es completamente funcional. Es decir, no tiene autocompletado, no puedo usar las teclas de flecha (por ejemplo, ARRIBA para obtener el último comando), y en lugar de mostrar mi directorio actual solo se muestra $. Cargué un .bashrcpero esto parece ser completamente ignorado. Que podria causar esto?

PD: este usuario ya está trabajando en el sistema y prefiero no eliminarlo y agregarlo nuevamente, si es posible.


fuente
Define lo que quieres decir con "cuando cambié a John". ¿Inició sesión con ese usuario en la consola principal, en una pty, a través de ssh, o usted suo su -?
Paul Tomblin
¿Cuáles son los permisos / propiedad en el .bashrc que cargó?
Paul Tomblin

Respuestas:

36

Probablemente el caparazón de John no lo es /bin/bash, pero /bin/sh. En Ubuntu, ese es un shell destinado a ejecutar scripts rápidamente, sin características interactivas sofisticadas como la edición de línea de comandos. Verifique la última columna de grep john /etc/passwdo getent passwd john. Es posible que desee ejecutar chsh -s /bin/bash johnpara cambiar el shell del usuario.

rvs
fuente
1
Excelente, ese fue el caso.
2
Solo una nota. En Ubuntu /bin/shhay un enlace simbólico , dashes decir /bin/dash, en última instancia, el shell del usuario es /bin/dash.
Sachin Divekar
4

puedes saltar entre los shells escribiendo el nombre del shell

$ bash

y en la siguiente línea obtendrás este siguiente mensaje

user@hostname$ 

cual es el bash shell Su tecla de flecha hacia arriba y autocompletar funcionarán ahora

Saad
fuente
Cabe señalar que obviamente es temporal. La respuesta actualmente aceptada tiene una solución más permanente.
jw013
ok No lo sabía, gracias por eso guardaré la respuesta aceptada para referencia futura
Saad