我正在使用厨师创建文件资源
file "somefile" do
action :create_if_missing
end
我想把它放在用户的主目录中。我有两个问题:
node[:user]
似乎是空的。 有没有办法在非 root 用户(在本例中为 vagrant)主目录中创建文件?
最佳答案
线程很旧,但我刚才遇到了这个问题。
您可以为用户创建属性,例如:default['mycookbook']['user']
然后在你的食谱中:
user = node['mycookbook']['user'] # user set in cookbook attrubute
# user = node['current_user'] # user running chef cookbook (on provisioned host)
home = node['etc']['passwd'][user]['dir'] # Chef DSL
# home = Dir.home(user) # It's Ruby
file "#{home}/somefile" do
action :create_if_missing
end
关于chef-infra - Chef 在用户的主目录中创建文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12861385/