Adicionando usuário “ubuntu” ao Vagrant ubuntu instance

3

Estou usando uma caixa vagabunda:

uname -a
Linux precise64 3.2.0-23-generic #36-Ubuntu SMP Tue Apr 10 20:39:51 UTC 2012 x86_64 x86_64 

Ele não tem ubuntu user setup, mas tem vagrant one, então eu decidi adicionar um novo usuário e configurar uma chave ssh para login como segue:

   sudo useradd ubuntu
   ssh-keygen -b 1024 -f ubuntu -t dsa     
   sudo mkdir -p /home/ubuntu/.ssh
   cat ubuntu.pub | sudo tee -a /home/ubuntu/.ssh/authorized_keys  
   sudo chmod 600 /home/ubuntu/.ssh/authorized_keys
   sudo chmod 700 /home/ubuntu/.ssh
   sudo chown -R ubuntu /home/ubuntu 

Baixou a chave privada e efetuou login. Agora, o terminal não tem suporte para o histórico, por exemplo,

history   
-sh: 30: history: not found

E nenhuma das teclas de navegação é suportada (up / down / forward / backward). Eu gostaria de configurar o bash para lembrar o histórico da linha de comando, assim como o preenchimento automático para comandos e caminhos. Por favor, deixe-me saber onde devo começar.

    
por sakhunzai 14.11.2014 / 08:46

2 respostas

2

Parece que seu shell não está sendo bash, mas simples.

Solução super rápida: basta executar bash e ver se isso ajuda.

Para uma solução melhor e permanente, por favor, verifique o / etc / passwd e veja qual shell o usuário tem lá. Se você encontrar /bin/sh altere para /bin/bash

    
por 14.11.2014 / 09:36
2

O problema é realmente o que @LuisAntolin apontou. Nos sistemas Ubuntu e na maioria dos outros, o shell padrão é /bin/sh . Este é um link simbólico para /bin/dash em sistemas baseados em Debian. dash não tem comando de histórico e é por isso que você está recebendo esse erro.

Embora seja possível alterar isso editando /etc/password , a melhor maneira é executar chsh como o usuário ubuntu e definir o shell padrão como /bin/bash .

É por isso que useradd está obsoleto em favor de adduser , um frontend para useradd , que é a ferramenta recomendada para usar ao criar um novo usuário. De man useradd :

   useradd is a low level utility for adding users. On Debian,
   administrators should usually use adduser(8) instead.

Então, da próxima vez, use apenas adduser e evite esse tipo de problema.

    
por 14.11.2014 / 12:52

Tags