Používam nasledujúci prostriedok šéfkuchára na zmenu vlastníctva všetkých súborov v priečinku /etc/temp.d
adresár.
[ /etc/temp.d ].each do |path|
directory path do
recursive true
owner user1
group user1
mode "0750"
action :create
end
end
Vidím však, že mení vlastníctvo iba temp.d
adresár do user1
Vlastníctvo súborov a adresárov vo vnútri temp.d
sa nemenia.
odpovede:
0 pre odpoveď č. 1Áno, recursive
nefunguje, ako by ste si mohli myslieť. Aplikuje povolenia iba na listový adresár.
toto je zdokumentované v docs, ALE rozumiem tvojmu zmätku ... bol som tam sám ...
rekurzívne
Druhy rubínov: TrueClass, FalseClass
Vytvorte alebo odstráňte nadradené adresáre rekurzívne. Pre majiteľa, skupinu, a vlastnosti režimu, hodnota tohto atribútu sa vzťahuje iba na listový adresár. Predvolená hodnota: false.
Budete musieť pridať každý (pod) adresár do poľa, cez ktoré prechádzate, aby ste sa uistili, že sa povolenia používajú správne.