[chef] Run a ruby block as another user?


Chronological Thread 
  • From: Marcelo de Moraes Serpa < >
  • To:
  • Subject: [chef] Run a ruby block as another user?
  • Date: Thu, 22 Nov 2012 16:13:43 -0600

Hi list,

I'm using the ruby_block resource to write the contents of a secure databag item into /home/deploy/.ssh (a private key). Problem is, that directory has restricted permissions, and the key is not saved. Here's the code I'm using:

ruby_block "write_key" do
  block do
    require 'fileutils'
    f = ::File.open("/home/deploy/.ssh/id_deploy","w")
    f.print(secrets["deploy_key"])
    f.close
    FileUtils.chown("deploy","deploy","/home/deploy/.ssh/id_deploy")
  end
  not_if do ::File.exists?("/home/deploy/.ssh/id_deploy"); end
end

Is there a way to tell ruby_block to run as another user? Or is there a better way to do that?

Thanks!

- Marcelo.



Archive powered by MHonArc 2.6.16.

§