更改目录中所有内容的所有者

时间:2016-10-03 19:25:22

标签: ruby chef chef-recipe chef-solo cookbook

我正在使用以下目录主厨资源来更改/etc/temp.d目录中所有文件的所有权。

[ /etc/temp.d ].each do |path|
    directory path do
      recursive true
      owner user1
      group user1
      mode '0750'
      action :create
    end
end

但是,我发现它只将temp.d目录的所有权更改为user1 temp.d内的文件和目录的所有权不会发生变化。

1 个答案:

答案 0 :(得分:0)

是的,recursive无法正常工作。它仅将权限应用于叶子目录。

这个 记录在docs中,但我确实理解你的困惑......我自己去过那里......

  

递归

     

Ruby类型:TrueClass,FalseClass

     

递归创建或删除父目录。对于所有者,团体,   和mode属性,此属性的值仅适用于   叶目录。默认值:false。

您需要将每个(子)目录添加到您正在迭代的数组中,以确保正确应用权限。