diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/puppet/suidmanager.rb | 4 | ||||
| -rw-r--r-- | lib/puppet/util.rb | 2 |
2 files changed, 5 insertions, 1 deletions
diff --git a/lib/puppet/suidmanager.rb b/lib/puppet/suidmanager.rb index a431e1456..4d00f59b0 100644 --- a/lib/puppet/suidmanager.rb +++ b/lib/puppet/suidmanager.rb @@ -63,6 +63,10 @@ module Puppet module_function :system def asuser(new_euid=nil, new_egid=nil) + # Unless we're root, don't do a damn thing. + unless Process.uid == 0 + return yield + end old_egid = old_euid = nil if new_egid saved_state_egid = new_egid diff --git a/lib/puppet/util.rb b/lib/puppet/util.rb index 5f8d6f31a..0141d1c3c 100644 --- a/lib/puppet/util.rb +++ b/lib/puppet/util.rb @@ -5,7 +5,7 @@ require 'puppet/lock' module Puppet # A command failed to execute. - class ExecutionFailure < RuntimeError + class ExecutionFailure < Puppet::Error end module Util require 'benchmark' |
