LoginSignup
4
4

More than 5 years have passed since last update.

remote_directoryで配置したディレクトリ配下のファイル権限を変えたい

Posted at

タイトルの通り、chefのremote_directoryで配置したディレクトリ配下のファイルに実行権限をつけたかったのですが、コマンドでchmodするのはイケてない気がしたので別の方法を探しました。

ざっくり言うと


  • chefremote_directoryで配置したディレクトリ配下のファイルに実行権限を付けたい。
  • 特別な指定なしで配置するとファイル権限は644となる。
  • modeではディレクトリの権限だけが変わる。
  • bash > codechmodすることで実現できるが・・・。

構成とやりたいこと


階層
chef-repo
  ├─ files
  │  └─ var
  │      └─ www
  │         ├─ hoge.sh
  │         └─ fuga.sh
  ├─ recipe
  │  └─ default.rb
  • remote_directory/var/wwwを配置する。
  • hoge.shfuga.shに実行権限を付けて(権限を744にして)サーバに配置したい。

方法


chefのrecipeにて files_mode を指定することでファイル権限が変更できる。

以下に一例を挙げる。
この場合、/var/wwwディレクトリの権限は755、それ配下のファイル権限は744となる。

default.rb
remote_directory "/var/www" do
  source "/var/www"
  owner 'alice'
  mode '0755'
  files_mode '0744'
  files_owner 'bob'
end

最後に


file_modeの他にもfile_ownerfiles_groupなどを指定することで、
ディレクトリ配下のファイルの所有者等を設定することも出来る。

参考サイト:CHEF Documents

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4