O prompt do shell SSH não mostra user @ host para um usuário

2

Eu tenho o servidor Ubuntu 12.04 em execução. Eu criei user1 quando eu instalei, e criei user2 hoje com '1useradd' e adicionei-o a todos os grupos do user1.

Mas quando eu logar remotamente usando o SSH, o prompt para user1 se parece com isto:

user1@host:~$

E o aviso para user2 é assim:

$

Mais importante, o shell não se comporta tão bem quanto eu estou acostumado quando estou logado como usuário2. Não há autocomplete de comandos ou arquivos com guia e não consigo acessar o MRU com backup.

    
por Bill 09.06.2013 / 18:18

2 respostas

5

É porque o shell está configurado para / bin / sh e não / bin / bash. Você pode usar o programa chsh (CHange SHell) para alterar o shell desse usuário. Quando você estiver logado como esse usuário, execute:

chsh /bin/bash

Eu recomendaria contra a edição de / etc / passwd manualmente, pois você poderia inserir acidentalmente uma linha sintaticamente errada nela (sem perceber), o que poderia quebrar logins para outros usuários.

    
por Scott 09.06.2013 / 18:49
5

Nota: Use o método na atualização, é mais seguro do que editar manualmente o arquivo passwd.

o comando useradd aparentemente define /bin/sh como o shell padrão (que por sua vez está vinculado a /bin/dash ). Experimente editar /etc/passwd e alterar /bin/sh para /bin/bash para user2.

No futuro, use adduser .

UDPATE: Como o @Scott sugeriu abaixo, em vez de editar /etc/passwd use o comando chsh:

chsh /bin/bash

Fonte: link

    
por martintama 09.06.2013 / 18:35