summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/puppet/suidmanager.rb4
-rw-r--r--lib/puppet/util.rb2
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'