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

Dynamically add current user name in Chef file resource

我有以下 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'

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

中找到用户名