diff options
Diffstat (limited to 'lib/puppet')
-rw-r--r-- | lib/puppet/defaults.rb | 4 | ||||
-rw-r--r-- | lib/puppet/util/settings/file_setting.rb | 11 |
2 files changed, 11 insertions, 4 deletions
diff --git a/lib/puppet/defaults.rb b/lib/puppet/defaults.rb index 9d992dd74..590de83fd 100644 --- a/lib/puppet/defaults.rb +++ b/lib/puppet/defaults.rb @@ -86,6 +86,10 @@ module Puppet :mkusers => [false, "Whether to create the necessary user and group that puppetd will run as."], + :manage_internal_file_permissions => [true, + "Whether Puppet should manage the owner, group, and mode of files + it uses internally" + ], :path => {:default => "none", :desc => "The shell search path. Defaults to whatever is inherited from the parent process.", diff --git a/lib/puppet/util/settings/file_setting.rb b/lib/puppet/util/settings/file_setting.rb index 573628fb8..2dfbcf46e 100644 --- a/lib/puppet/util/settings/file_setting.rb +++ b/lib/puppet/util/settings/file_setting.rb @@ -89,11 +89,14 @@ class Puppet::Util::Settings::FileSetting < Puppet::Util::Settings::Setting return nil if path =~ /^\/dev/ resource = Puppet::Resource.new(:file, path) - resource[:mode] = self.mode if self.mode - if Puppet.features.root? - resource[:owner] = self.owner if self.owner - resource[:group] = self.group if self.group + if Puppet[:manage_internal_file_permissions] + resource[:mode] = self.mode if self.mode + + if Puppet.features.root? + resource[:owner] = self.owner if self.owner + resource[:group] = self.group if self.group + end end resource[:ensure] = type |