Как настроить бродячего пользователя на использование /bin/bash для $SHELL

Я использую Vagrant для запуска ОС Ubuntu 14.04.

значение $SHELL для моего бродячего пользователя равно /bin/sh.

Я попытался запустить chsh, чтобы перейти на /bin/bash, но Vagrant не позволяет этого.

Как изменить $SHELL на /bin/bash для бродячего пользователя?

Когда я бродил по ssh и пробовал chsh -s /binbash vagrant, я получил следующее:

введите здесь описание изображения


person Kim Stacks    schedule 29.07.2014    source источник
comment
В чем ошибка, когда вы делаете chsh -s /binbash vagrant? Запомните пароль для пользователей root и vagrant: vagrant.   -  person Terry Wang    schedule 29.07.2014
comment
@TerryWang См. вопрос об ошибке.   -  person Kim Stacks    schedule 29.07.2014


Ответы (2)


Вы забыли sudo (и косую черту):

sudo chsh -s /bin/bash vagrant

Подготовьте его непосредственно из бродяги:

config.vm.provision :shell do |shell|
    shell.inline = "sudo chsh -s /bin/bash vagrant"
end

Если вы уже используете марионетку, это так же просто, как

user { 'vagrant':
    shell      => '/bin/bash',
}

в вашем кукольном файле.

person ThomasR    schedule 08.09.2014

Возможно, вы хотите изменить оболочку по умолчанию как обычный пользователь. Вы можете добавить это к своему ~/.profile:

[ -z "$BASH_VERSION" ] && exec /bin/bash -l
person konsolebox    schedule 29.07.2014
comment
Есть ли способ использовать файл Vagrant вместо этого? - person Kim Stacks; 29.07.2014
comment
Хорошо, это сработало, но мне пришлось изменить ~/.profile внутри vagrant пользователя. Надеюсь, есть другой способ использовать файл Vagrant. - person Kim Stacks; 29.07.2014
comment
@KimStacks Какой именно файл Vagrant вам нужно изменить? - person konsolebox; 29.07.2014
comment
Vagrantfile Тот, который содержит конфиг. Текст выглядит так: VAGRANTFILE_API_VERSION = 2 Vagrant.configure(VAGRANTFILE_API_VERSION... - person Kim Stacks; 29.07.2014