|laziness, impatience, and hubris
sourcing a shell script/.profile and importing into %ENVby gnu@perl (Pilgrim)
|on Mar 21, 2003 at 17:01 UTC
gnu@perl has asked for the wisdom of the Perl Monks concerning the following question:
I have a program that is run as root and for certain tasks it changes $> to become another user then goes back to root for more work. This all works fine, except for one thing. The user that I change to needs to have it's environment updated with new $PATH info as well as some new environmental variables.
It's not hard to code them into the program, but that causes a problem. The environmental variables that need to be set get changed from time to time. The .profile of the user I become (in the new assignment to $>) is of course sourced for that user when they log in. In my script the simple assignment of their UID to $> does not do this, so many of the routines fail.
Does anyone know of a way to source a .profile while in a perl script? This .profile runs some commands and programs to set things, so it's not as easy as just picking out the relavent parts and adding them to %ENV.
Please don't take offense, but I do not want this to turn into a security debate. I do realize that doing this is a security risk. I just need to know how/if it can be done.