【问题标题】:Dynamically add current user name in Chef file resource在 Chef 文件资源中动态添加当前用户名
【发布时间】:2019-07-20 04:36:35
【问题描述】:

我有以下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-client 命令,请删除所有者和组并让系统执行。如果不是(厨师在 crontab 中以 root 身份运行或作为服务运行),这没有任何意义。

标签: chef-infra recipe


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2014-04-01
    • 2016-12-15
    • 1970-01-01
    • 2021-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多