Issue #3107 has been updated by Markus Roberts.
Applied to master in commit:"e82f5de7e66a54712421d96288cc6a2614f53dd7" ---------------------------------------- Bug #3107: Execute() in util.rb does not execute setuid properly on AIX http://projects.puppetlabs.com/issues/3107 Author: Andrew Forgue Status: Closed Priority: Normal Assigned to: Category: executables Target version: 0.25.6 Affected version: 0.25.3 Keywords: cron aix execute Branch: [email protected]:MarkusQ/puppet.git ticket/0.25.x/3107 In lib/puppet/util.rb: <pre> 297 if arguments[:gid] 298 Process.egid = arguments[:gid] 299 Process.gid = arguments[:gid] unless @@os == "Darwin" 300 end 301 if arguments[:uid] 302 Process.euid = arguments[:uid] 303 Process.uid = arguments[:uid] unless @@os == "Darwin" </pre> This does not work on AIX and silently fails due to line 303 returning EPERM (Not Owner). If I swap lines 302 and 303 it works correctly. This currently breaks the cron type on AIX for non-root users, but has an effect when anything on AIX requires execution of something as a different user. Also, <pre> Process::GID.change_privilege(arguments[:gid]) if arguments[:gid] Process::UID.change_privilege(arguments[:uid]) if arguments[:uid] </pre> does the setuid correctly. Perhaps execute should do change_privilege instead of [e]gid=/[e]uid=? -- You have received this notification because you have either subscribed to it, or are involved in it. To change your notification preferences, please click here: http://projects.puppetlabs.com/my/account -- You received this message because you are subscribed to the Google Groups "Puppet Bugs" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/puppet-bugs?hl=en.
