diff options
author | Pascal Terjan <pterjan@mandriva.org> | 2010-02-11 16:45:45 +0000 |
---|---|---|
committer | Pascal Terjan <pterjan@mandriva.org> | 2010-02-11 16:45:45 +0000 |
commit | 0c18b9dcece7095322902d947136188a1681a4fb (patch) | |
tree | 1af35673b01caceb8e4d3d42e01179da8c5bf355 /perl-install/run_program.pm | |
parent | fb730ae27d52fbbe3f0d43ac786187f891f1e3d9 (diff) | |
download | drakx-backup-do-not-use-0c18b9dcece7095322902d947136188a1681a4fb.tar drakx-backup-do-not-use-0c18b9dcece7095322902d947136188a1681a4fb.tar.gz drakx-backup-do-not-use-0c18b9dcece7095322902d947136188a1681a4fb.tar.bz2 drakx-backup-do-not-use-0c18b9dcece7095322902d947136188a1681a4fb.tar.xz drakx-backup-do-not-use-0c18b9dcece7095322902d947136188a1681a4fb.zip |
run_program: set XAUTHORITY and HOME for the user we will drop privileges todistro/mdv2008.0
Diffstat (limited to 'perl-install/run_program.pm')
-rw-r--r-- | perl-install/run_program.pm | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/perl-install/run_program.pm b/perl-install/run_program.pm index 0f84b9087..a74935656 100644 --- a/perl-install/run_program.pm +++ b/perl-install/run_program.pm @@ -111,8 +111,11 @@ sub raw { } else { if ($options->{setuid}) { require POSIX; - $ENV{'LOGNAME'} = getpwuid($options->{setuid}) || $ENV{LOGNAME}; POSIX::setuid($options->{setuid}); + my ($logname, $home) = (getpwuid($options->{setuid}))[0,7]; + $ENV{'XAUTHORITY'} = "$home/.Xauthority"; + $ENV{'LOGNAME'} = $logname || $ENV{LOGNAME}; + $ENV{'HOME'} = $home; } sub die_exit { |