我正在写一本将在Ubuntu上运行的食谱。它将在默认用户的家中创建一个目录。
directory "/home/<default-user>/my-directory" do
owner <default-user>
end
问题是,这个默认用户在不同环境中是不同的:
解决此类问题的好习惯是什么?怎么做?
谢谢!
答案 0 :(得分:1)
为用户提供属性并根据您的环境进行设置。
directory "/home/#{node[:my_app][:default_user]}/my-directory" do
owner node[:my_app][:default_user]
end
然后,在attributes/default.rb
文件中:
default[:my_app][:default_user] = 'ubuntu'
和Vagrantfile
:
Vagrant.configure("2") do |config|
config.vm.provision "chef_solo" do |chef|
# ...
chef.json = {
"my_app" => {
"default_user" => "vagrant"
}
}
end
end
这会将您的默认用户设置为ubuntu
,但在Vagrant VM中运行时会覆盖该用户。
答案 1 :(得分:0)
签出配置条目config.ssh.username
:http://docs-v1.vagrantup.com/v1/docs/config/ssh/username.html