Hi,

I'm having inconsistent behaviour with running external commands as  
other users, and the time has apparently come to use something akin  
to a fork and popen3 to get something approximating consistent  
bahaviour.

I'm currently setting EUID and executing external commands, but some  
shells ignore that (which is apparently the "standard").

I need some solution that will allow me (when running as root) to run  
shell commands as another user and capture stdout and (hopefully)  
stderr.  This basically means fork and run Process.uid = blah, but  
there's some IPC to do too.

Is there a semi-standard pattern for doing this, or does someone have  
some simple example code I can use?

Thanks,
Luke

  --
  The major difference between a thing that might go wrong and a thing
  that cannot possibly go wrong is that when a thing that cannot  
possibly
  goes wrong goes wrong it usually turns out to be impossible to get at
  or repair.                           -- Douglas Adams, Mostly Harmless
  ---------------------------------------------------------------------
  Luke Kanies | http://reductivelabs.com | http://madstop.com