Search code examples
rubyruby-on-rails-3chef-infrachef-recipechef-solo

What is the best way to do "chmod +x" within Chef


I am trying to run chmod +x /usr/local/bin/binaryname within chef.
I have used execute resourcefor that as shown below:

execute "run_binary" do
  command "chmod +x binaryname"
  cwd "/usr/local/bin"
  not_if "stat --format=%a /usr/local/bin/binaryname" | grep 755
end

Please let me know if there is a better way


Solution

  • You can use a file resource:

    file '/usr/local/bin/binaryname' do
      mode '755'
    end
    

    If you don't specify an owner/group/content then Chef doesn't manage those properties.