首页 > 解决方案 > 在厨师的 ruby​​_block 中更改权限时如何执行“除非”条件?

问题描述

在 chef 我有一个ruby_block我正在更改目录的权限和所有权的地方。如果“FileUtils.chown”语句尚未更改权限,我如何才能检查仅更改权限的位置?如果可能的话,我需要在 ruby​​_block 中执行此操作,因为我想在 ruby​​ 块中有其他代码。我的“除非”陈述是什么?这是我的代码:

  ruby_block 'exe' do
    block do
      FileUtils.chmod 0755, '/make/news'
      FileUtils.chown('root', 'root', '/make/news')
    end
  end

标签: rubychef-infra

解决方案


正确的做法是使用 Chef 的文件资源:

file '/make/news' do
  mode 0755
  owner 'root'
  group 'root'
end

您正在尝试重写文件资源,这不是一个好主意。


推荐阅读