Vagrant 우분투 인스턴스에 "ubuntu" 사용자 추가

Vagrant 우분투 인스턴스에 "ubuntu" 사용자 추가

나는 방랑 상자를 사용하고 있습니다 :

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

ubuntu사용자 설정이 하나밖에 없어서 vagrant새 사용자를 추가하고 로그인용 SSH 키를 다음과 같이 설정하기로 결정했습니다.

   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 

개인키를 다운로드하고 로그인하세요. 이제 터미널은 기록을 지원하지 않습니다.

history   
-sh: 30: history: not found

탐색 키(위/아래/앞으로/뒤)를 지원하지 않습니다. 명령줄 기록을 기억하고 명령과 경로에 대한 자동 완성을 수행하도록 bash를 설정하고 싶습니다. 어디서부터 시작해야 할지 알려주세요.

답변1

문제는 실제로 @LuisAntolin이 지적한 것입니다. Ubuntu 시스템 및 대부분의 다른 시스템에서 기본 셸은 Debian 기반 시스템의 심볼릭 링크 /bin/sh입니다 . 기록 명령이 없기 때문에 해당 오류가 발생합니다./bin/dashdash

실제로 를 편집하여 이 설정을 변경할 수 있지만 /etc/password더 나은 접근 방식은 chsh사용자로 실행 ubuntu하고 기본 셸을 로 설정하는 것입니다 /bin/bash.

이것이 바로 프런트엔드가 useradd더 이상 사용되지 않는 이유 이며 새 사용자를 생성할 때 권장되는 도구입니다. 에서 :adduseruseraddman useradd

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

따라서 다음에 사용하여 adduser이러한 문제를 피하십시오.

답변2

귀하의 쉘은 bash가 아닌 일반 sh인 것 같습니다.

아주 빠른 해결책: 그냥 해보시고 bash도움이 되는지 확인해 보세요.

더 좋고 영구적인 해결책을 찾으려면 /etc/passwd를 확인하고 사용자가 거기에 어떤 쉘을 가지고 있는지 확인하십시오. 그것을 찾으면 /bin/sh다음으로 변경하십시오./bin/bash

관련 정보