Shell mostrando caracteres estranhos para um usuário

2

Algum tempo atrás eu adicionei um usuário no servidor Debian X64, e em vez de me mostrar o nome de usuário quando eu ssh na máquina, ele mostra-me caracteres estranhos como mostrado na imagem abaixo. Por favor, note que isso não acontece para root ou postgres , apenas para este usuário. Também desabilitada é quando eu pressiono a tecla tab ou seta para cima, eu não recebo auto-completar ou comando anterior, apenas espaço ou caracteres aleatórios, respectivamente. Como consertar isso?

Por favor, deixe-me saber o que posso fazer. Obrigado.

    
por We are Borg 30.11.2015 / 09:22

2 respostas

4

No sistema Debian, se você criar um usuário com useradd sem um shell especificado (usando -s option), o shell padrão do usuário será configurado para /bin/sh , que está vinculado a /bin/dash em vez de /bin/bash , a partir do Squeeze :

$ grep SHELL= /etc/default/useradd
SHELL=/bin/sh

traço é um shell compatível com POSIX e não possui alguns recursos estendidos como bash .

Você deve alterar o shell de login padrão do usuário para /bin/bash :

chsh -s /bin/bash deploy

Você também precisa alterar SHELL=/bin/sh para SHELL=/bin/bash em /etc/default/useradd para torná-lo amplo no sistema.

    
por 30.11.2015 / 09:46
0

Isso acontece quando as cores ou outros caracteres especiais são definidos na variável ambiental PS1, mas o terminal, por qualquer motivo, não consegue exibi-los. PS1 é a variável env que define como o prompt do shell aparecerá. Você pode precisar reverter para os padrões (google: bash ps1 default) ou você pode precisar fazer algo como:

export TERM=linux

Confira a página man bash para mais informações.

    
por 30.11.2015 / 10:25