Re: LD_LIBRARY_PATH is not exported to subshells

"Zvi Har'El" <[email protected]> Thu, 17 Jan 2008 00:47:18 +0200
Newsgroups gmane.comp.gnu.screen
Organization Technion--Israel Institute of Technology
Message-ID <478E8976.30805__21367.3065569767$1238088986$gmane$org@math.technion.ac.il>
Yes. just "sudo chmod u-s /usr/local/bin/screen-4.0.3" did it!!!1 I am 
grateful.

On 17/01/08 00:43, Zvi Har'El wrote:

> I think you pinpointed the problem. I have on my RHEL4 machine two 
> installation of screen. An older one, which comes with the system, in 
> /usr/bin/screen:
>
> ~$ ls -l /usr/bin/screen
> -rwxr-xr-x 1 root root 324440 2004-09-11 12:10 /usr/bin/screen
> ~$ /usr/bin/screen --version
> Screen version 4.00.02 (FAU) 5-Dec-03
>
>
> and a newer one, I installed from the CVS, in /usr/local/bin/screen
>
> ~$ /usr/local/bin/screen --version
> Screen version 4.00.03jw4 (FAU) 2-May-06
> ~$ ls -l /usr/local/bin/screen   
> lrwxrwxrwx 1 root root 12 2007-07-10 17:00 /usr/local/bin/screen -> 
> screen-4.0.3
> ~$ ls -lL /usr/local/bin/screen
> -rwsr-xr-x 1 root root 853109 2007-07-06 15:51 /usr/local/bin/screen
>
> It seems that the problem happens only when using the setuid version.
>
> However, I also have Solaris machines, where the fact that screen is 
> installed setuid doesn't cause any problems. Perhaps Solaris libc 
> doesn't scrub the "Unsecure variables". Since I am not really 
> interested, in the linux machine, that screen will be installed setuid 
> (so that it can write wtmpx), I'll reinstall it without setuid.
>
> Thanks,
>
>
> Zvi.
>
>
>
>
> On 17/01/08 00:17, Adam Lazur wrote:
>> Trying to get things less hazy.
>>
>> >From ld.so(8):
>>
>>        The necessary shared libraries needed by the program are  searched  for
>>        in the following order
>>
>>        o      Using      the      environment     variable     LD_LIBRARY_PATH
>>               (LD_AOUT_LIBRARY_PATH for a.out programs).  Except if  the  exe-
>>               cutable  is a setuid/setgid binary, in which case it is ignored.
>>
>> I tried to find this type of stuff in the glibc source online quickly,
>> but here's all I can do:
>>
>> http://google.com/codesearch?hl=en&q=+package:glibc+LD_LIBRARY_PATH+show:5-uyA-74TiI:kyA999K8eys:Etn8yARxAbA&sa=N&cd=19&ct=rc&cs_p=http://ftp.gnu.org/gnu/glibc/glibc-2.3.3.tar.bz2&cs_f=glibc-2.3.3/sysdeps/generic/unsecvars.h#first
>>
>> I assert that UNSECURE_ENVVARS are scrubbed by glibc somewhere in
>> combination with a check of euid and egid. This is clearly a security
>> thing.
>>
>> .laz
>>
>> Adam Lazur ([email protected]) said:
>>   
>>> My memory is hazy, but I believe I tracked this down to glibc doing this
>>> on behalf of screen because it's a setgid binary.
>>>
>>> Details are hazy because this was a year or three ago.
>>>
>>> .laz
>>>
>>> Zvi Har'El ([email protected]) said:
>>>     
>>>> Hi
>>>>
>>>>
>>>> Thanks, but no thanks. I am not interested in tricks to set 
>>>> LD_LIBRARY_PATH. This is not what the screen mailing list about.
>>>>
>>>>
>>>> I am concerned about the fact that screen removes LD_LIBRARY_PATH from 
>>>> the environment, and I believe this behavior is a bug.
>>>>
>>>>
>>>> Zvi.
>>>>
>>>>
>>>> On 16/01/08 23:15, Randy Belk wrote:
>>>>
>>>>       
>>>>> When you first login Bash will read /etc/bash.bashrc and also
>>>>> $HOME/.bashrc to set stuff like your path($PATH) and other environment
>>>>> variables. Always put your LD_LIBRARY_PATH exports in either of these
>>>>> two files. New bash screen sessions will always read /etc/bash.bashrc
>>>>> and also $HOME/.bashrc on startup! You don't need to write a script
>>>>> use VI and add the   LD_LIBRARY_PATH to these file once and your done.
>>>>>
>>>>> On Jan 16, 2008 2:41 PM, Zvi Har'El <[email protected]> wrote:
>>>>>  
>>>>>         
>>>>>> Of course this works. But the problem is that LD_LIBRARY_PATH is part of 
>>>>>> the
>>>>>> configuration of the run (shared libraries used in addition to the 
>>>>>> standard
>>>>>> libraries). Of course I can write a script to edit .bashrc, but this is a
>>>>>> ridiculed solution. Why cannot screen export the original 
>>>>>> LD_LIBRARY_PATH???
>>>>>>
>>>>>>
>>>>>>
>>>>>> On 16/01/08 20:54, Randy Belk wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>>> Try putting the LD_LIBRARY_PATH in your .bashrc, that should work.
>>>>>>
>>>>>> On Jan 16, 2008 11:59 AM, Zvi Har'El <[email protected]> wrote:
>>>>>>
>>>>>>
>>>>>> I am using screen to run several applications simultaneously in the
>>>>>> same environment. The environment preparation consists of exporting
>>>>>> various variables, including LD_LIBRARY_PATH. However, after running
>>>>>> screen, the various windows show the original environment (of course
>>>>>> few changes, like $SHLVL increases, $TERM is changed to screen and
>>>>>> $TERMCAP, $STY and $WINDOW are set), but one important variable
>>>>>> disppeared: $LD_LIBRARY_PATH is not set at all. In the following
>>>>>> example, I did "export >/tmp/before;screen" and then, on window 0:
>>>>>>
>>>>>> sh-3.00$ export >/tmp/after
>>>>>> sh-3.00$ diff /tmp/{before,after}
>>>>>> 23d22
>>>>>> < export LD_LIBRARY_PATH="/usr/local/lib:/opt/openssl/lib"
>>>>>> 39c38
>>>>>> < export SHLVL="3"
>>>>>> ---
>>>>>>           
>>>>>>> export SHLVL="4"
>>>>>>>             
>>>>>> 42a42
>>>>>>           
>>>>>>> export STY="16314.pts-2.bambi"
>>>>>>>             
>>>>>> 44c44,68
>>>>>> < export TERM="xterm"
>>>>>> ---
>>>>>>           
>>>>>>> export TERM="screen"
>>>>>>> export TERMCAP="SC|screen|VT 100/ANSI X3.64 virtual terminal:\\\
>>>>>>> :DO=\\E[%dB:LE=\\E[%dD:RI=\\E[%dC:UP=\\E[%dA:bs:bt=\\E[Z:\\\
>>>>>>> :cd=\\E[J:ce=\\E[K:cl=\\E[H\\E[J:cm=\\E[%i%d;%dH:ct=\\E[3g:\\\
>>>>>>> :do=^J:nd=\\E[C:pt:rc=\\E8:rs=\\Ec:sc=\\E7:st=\\EH:up=\\EM:\\\
>>>>>>> :le=^H:bl=^G:cr=^M:it#8:ho=\\E[H:nw=\\EE:ta=^I:is=\\E)0:\\\
>>>>>>> :li#77:co#80:am:xn:xv:LP:sr=\\EM:al=\\E[L:AL=\\E[%dL:\\\
>>>>>>> :cs=\\E[%i%d;%dr:dl=\\E[M:DL=\\E[%dM:dc=\\E[P:DC=\\E[%dP:\\\
>>>>>>> :im=\\E[4h:ei=\\E[4l:mi:IC=\\E[%d@:ks=\\E[?1h\\E=:\\\
>>>>>>> :ke=\\E[?1l\\E>:vi=\\E[?25l:ve=\\E[34h\\E[?25h:vs=\\E[34l:\\\
>>>>>>> :ti=\\E[?1049h:te=\\E[?1049l:us=\\E[4m:ue=\\E[24m:so=\\E[3m:\\\
>>>>>>> :se=\\E[23m:mb=\\E[5m:md=\\E[1m:mr=\\E[7m:me=\\E[m:ms:\\\
>>>>>>> :Co#8:pa#64:AF=\\E[3%dm:AB=\\E[4%dm:op=\\E[39;49m:AX:\\\
>>>>>>> :vb=\\Eg:G0:as=\\E(0:ae=\\E(B:\\\
>>>>>>>
>>>>>>>             
>>>>>> :ac=\\140\\140aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~..--++,,hhII00:\\\
>>>>>>           
>>>>>>> :po=\\E[5i:pf=\\E[4i:Z0=\\E[?3h:Z1=\\E[?3l:k0=\\E[10~:\\\
>>>>>>> :k1=\\EOP:k2=\\EOQ:k3=\\EOR:k4=\\EOS:k5=\\E[15~:k6=\\E[17~:\\\
>>>>>>> :k7=\\E[18~:k8=\\E[19~:k9=\\E[20~:k;=\\E[21~:F1=\\E[23~:\\\
>>>>>>> :F2=\\E[24~:F3=\\E[1;2P:F4=\\E[1;2Q:F5=\\E[1;2R:F6=\\E[1;2S:\\\
>>>>>>> :F7=\\E[15;2~:F8=\\E[17;2~:F9=\\E[18;2~:FA=\\E[19;2~:kb=^H:\\\
>>>>>>> :K2=\\EOE:kB=\\E[Z:kF=\\E[1;2B:kR=\\E[1;2A:*4=\\E[3;2~:\\\
>>>>>>> :*7=\\E[1;2F:#2=\\E[1;2H:#3=\\E[2;2~:#4=\\E[1;2D:%c=\\E[6;2~:\\\
>>>>>>> :%e=\\E[5;2~:%i=\\E[1;2C:kh=\\E[1~:@1=\\E[1~:kH=\\E[4~:\\\
>>>>>>> :@7=\\E[4~:kN=\\E[6~:kP=\\E[5~:kI=\\E[2~:kD=\\E[3~:ku=\\EOA:\\\
>>>>>>> :kd=\\EOB:kr=\\EOC:kl=\\EOD:km:"
>>>>>>>             
>>>>>> 49a74
>>>>>>           
>>>>>>> export WINDOW="0"
>>>>>>>             
>>>>>> 55a81
>>>>>>           
>>>>>>> export _="sh"
>>>>>>>             
>>>>>> --
>>>>>> Dr. Zvi Har'El mailto:[email protected] Department of Mathematics
>>>>>> tel:+972-54-4227607 Technion - Israel Institute of Technology
>>>>>> fax:+972-4-8293388 http://www.math.technion.ac.il/~rl/ Haifa 32000, ISRAEL
>>>>>> "If you can't say somethin' nice, don't say nothin' at all." -- Thumper
>>>>>> (1942)
>>>>>>
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> screen-users mailing list
>>>>>> [email protected]
>>>>>> http://lists.gnu.org/mailman/listinfo/screen-users
>>>>>>
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> screen-users mailing list
>>>>>> [email protected]
>>>>>> http://lists.gnu.org/mailman/listinfo/screen-users
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Dr. Zvi Har'El mailto:[email protected] Department of Mathematics
>>>>>> tel:+972-54-4227607 Technion - Israel Institute of Technology
>>>>>> fax:+972-4-8293388 http://www.math.technion.ac.il/~rl/ Haifa 32000, ISRAEL
>>>>>> "If you can't say somethin' nice, don't say nothin' at all." -- Thumper
>>>>>> (1942)
>>>>>>
>>>>>>
>>>>>>    
>>>>>>           
>>>>> _______________________________________________
>>>>> screen-users mailing list
>>>>> [email protected]
>>>>> http://lists.gnu.org/mailman/listinfo/screen-users
>>>>>  
>>>>>         
>>>     
>>
>>   
>
> -- 
> Dr. Zvi Har'El      mailto:[email protected]    Department of Mathematics
> tel:+972-54-4227607                  Technion - Israel Institute of Technology
> fax:+972-4-8293388  http://www.math.technion.ac.il/~rl/    Haifa 32000, ISRAEL
> "If you can't say somethin' nice, don't say nothin' at all." -- Thumper (1942)
>   
> ------------------------------------------------------------------------
>
> _______________________________________________
> screen-users mailing list
> [email protected]
> http://lists.gnu.org/mailman/listinfo/screen-users
>   

-- 
Dr. Zvi Har'El      mailto:[email protected]    Department of Mathematics
tel:+972-54-4227607                  Technion - Israel Institute of Technology
fax:+972-4-8293388  http://www.math.technion.ac.il/~rl/    Haifa 32000, ISRAEL
"If you can't say somethin' nice, don't say nothin' at all." -- Thumper (1942)