ChefTips: ファイルのパーミッションを変更する


既存ファイルのパーミッションを変更したい時に。
もちろんオーナー・グループの変更にも使用可能です。

ちなみに、既存ディレクトリのパーミッションは 普通に directory リソースを使います。

file "/tmp/foobar" do
  mode '0644'
  action :create
  only_if { ::File.exists?("/tmp/foobar") } # ファイルが無い時には作成しない
end
テスト
# cat <<_EOL_ | chef-apply -s -W
> file "/tmp/foobar" do
>   mode '0644'
>   action :create
>   only_if { ::File.exists?("/tmp/foobar") }
> end
> _EOL_
Recipe: (chef-apply cookbook)::(chef-apply recipe)
  * file[/tmp/foobar] action create
    - Would change mode from '0755' to '0644'

参考/引用: chef でファイルのパーミッションを設定するメモ@Qiita