O Bash não é totalmente funcional para um novo usuário

19

Acabei de criar um novo usuário no meu sistema usando useradd -d /home/users/john -m john(Usando o Ubuntu 11.04). Isso funcionou bem, mas quando mudei para john, meu bash não está totalmente funcional. Ou seja, ele não possui preenchimento automático, não posso usá-las com teclas de seta (por exemplo, UP para obter o último comando) e, em vez de mostrar meu diretório atual, ele apenas mostra $. Carreguei um, .bashrcmas isso parece ser completamente ignorado. O que poderia causar isso?

PD: esse usuário já está trabalhando no sistema e prefiro não removê-lo e adicioná-lo novamente, se possível.


fonte
Defina o que você quer dizer com "quando mudei para john". Você fez logon com esse usuário no console principal, em um pty, através do ssh, ou você suou su -?
Paul Tomblin
Quais são as permissões / propriedade no .bashrc que você carregou?
Paul Tomblin

Respostas:

36

Provavelmente a casca de João não é /bin/bash, mas /bin/sh. No Ubuntu, é um shell destinado a executar scripts rapidamente, sem recursos interativos sofisticados, como a edição de linha de comando. Verifique a última coluna de grep john /etc/passwdou getent passwd john. Você pode querer executar chsh -s /bin/bash johnpara alterar o shell do usuário.

rvs
fonte
1
Excelente, esse foi realmente o caso!
2
Apenas uma nota. No Ubuntu /bin/shé link simbólico para dashisto é /bin/dash, por isso, em última análise shell do usuário é /bin/dash.
Sachin Divekar
4

você pode pular entre conchas digitando o nome do shell

$ bash

e na próxima linha você receberá o seguinte prompt

user@hostname$ 

que é o shell bash. Sua tecla de seta para cima e o preenchimento automático funcionarão agora

Saad
fonte
Note-se que é obviamente temporário. A resposta atualmente aceita possui uma solução mais permanente.
Jw013 07/11
ok eu não sabia que, graças para que eu vou salvar a resposta aceita para referência futura
Saad