gpt4 book ai didi

chef-infra - 如何使用Chef递归更改目录上的所有者和组?

转载 作者:行者123 更新时间:2023-12-03 11:57:41 26 4
gpt4 key购买 nike

resource_directory只有2个可用操作:createdelete
我需要递归更新目录的所有者和组。

我怎么做?

使用简单的resource_execute

execute "chown-data-www" do
command "chown -R www-data:www-data /var/www/myfoler"
user "root"
action :run
end

最佳答案

您可以将默认操作设置为空,然后拥有可能使事情搞砸的资源,通知烫发修复程序:

execute "chown-data-www" do
command "chown -R www-data:www-data /var/www/myfoler"
user "root"
action :nothing
end

resource "that may screw up perms" do
stuff "one two three"
notifies :run, execute "chown-data-www"
end

使用更多选项,您可以执行:run Action ,但如果父文件夹已经是正确的权限,则不能执行。您可以更改它以包含更深/问题的文件/目录,或者使用类似于 this的find命令
execute "chown-data-www" do
command "chown -R www-data:www-data /var/www/myfoler"
user "root"
action :run
not_if '[ $(stat -c %U /var/www/myfolder) = "www-data" ]'
end

编辑:修复以反射(reflect)下面的评论

关于chef-infra - 如何使用Chef递归更改目录上的所有者和组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23921708/

26 4 0
文章推荐: sockets - 流读取阻止UDP GNAT
文章推荐: javascript - 类型错误 : Object # has no method 'Schema'