diff options
author | vijaymmali1990 <vijay.mali@msystechnologies.com> | 2019-01-24 17:52:43 +0530 |
---|---|---|
committer | Tim Smith <tsmith@chef.io> | 2019-01-28 16:26:55 -0800 |
commit | f91a6e47adeaf648cab742d3b1dbd8a62a387a19 (patch) | |
tree | 1db9b398c51a2a02d2c828b0fc093a95da090ba3 | |
parent | 2a7cf8b2049ca9262b7e58372fee2b823ea774f5 (diff) | |
download | chef-f91a6e47adeaf648cab742d3b1dbd8a62a387a19.tar.gz |
Fix for apt_repository creating temporary files as root in running user home directory14_apt
Signed-off-by: vijaymmali1990 <vijay.mali@msystechnologies.com>
-rw-r--r-- | lib/chef/provider/apt_repository.rb | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/chef/provider/apt_repository.rb b/lib/chef/provider/apt_repository.rb index c70c8eaf98..75c7112fb8 100644 --- a/lib/chef/provider/apt_repository.rb +++ b/lib/chef/provider/apt_repository.rb @@ -21,6 +21,7 @@ require "chef/dsl/declare_resource" require "chef/mixin/shell_out" require "chef/http/simple" require "chef/provider/noop" +require "tmpdir" class Chef class Provider @@ -200,13 +201,15 @@ class Chef def install_key_from_uri(key) key_name = key.gsub(/[^0-9A-Za-z\-]/, "_") cached_keyfile = ::File.join(Chef::Config[:file_cache_path], key_name) + tmp_dir = Dir.mktmpdir(".gpg") + at_exit { FileUtils.remove_entry(tmp_dir) } declare_resource(key_type(key), cached_keyfile) do source key mode "0644" sensitive new_resource.sensitive action :create - verify "gpg --homedir /tmp/ %{path}" + verify "gpg --homedir #{tmp_dir} %{path}" end declare_resource(:execute, "apt-key add #{cached_keyfile}") do |