在Chef文件资源中动态添加当前用户名

时间:2017-02-15 16:19:51

标签: chef recipe

我有以下chef配方将一些数据写入current用户主目录中的文件。如您所见,vagrant用户在我的案例中是硬编码的。我该怎么做才能让代码根据当前登录的人动态获取user

file '/home/vagrant/.ssh/id_rsa' do
  content "This is the super secret"
  mode '0755'
  owner 'vagrant'
  group 'vagrant'
end

我尝试过类似下面的内容,但它不起作用:

file '/home/#{node['user']}/.ssh/id_rsa'

1 个答案:

答案 0 :(得分:4)

几乎在所有情况下,chef-clientchef-solo都以root身份运行,无论是作为系统服务还是通过sudo。如果这是在Test Kitchen中设置测试环境,只需硬编码。如果这是用于工作站设置,那么您可以在ENV['USER']中找到用户名。