我正在使用Veewee(ubuntu 12.04)构建我的第一个Vagrant盒子,并且,大约95%的方式,我被困在某事上。我有一个自定义的安装后脚本,在postinstall.sh
之后调用,它构建了我首选的用户环境。它...
所有这一切似乎都没问题,但下一个合乎逻辑的步骤是改变我的shell,以便在我第一次vagrant ssh
时它已经准备好了,但是我是卡住。此脚本的最后一行是chsh -s /usr/bin/zsh
,但它不会。难道我做错了什么?还有另一种从脚本中更改shell的方法吗?我想我可以用sed更新/etc/passwd
,但是......呃。如果它能以比这更清洁的方式完成,那就太好了。
此外,在尝试解决此问题时,我发现了另一个可能的问题。我没有无密码的sudo访问权限。在打包的postinstall.sh
脚本中,我看到它正在运行设置以实现这一点,但在12.04中,至少/etc/sudoers
是只读的,这可能会阻止更改。
其他人注意到了这些事情?有关如何解决这些问题的任何提示?我的搜索没有任何结果。
感谢。
答案 0 :(得分:0)
这对我来说在安装Ubuntu 12.04.3和Vagrant(又名“exact32”)时起作用了:因为默认的流浪汉密码只是“流浪汉”:
echo "vagrant" | chsh -s /bin/zsh