rbpember
July 16th, 2009, 08:29 PM
I just used the "at" command for the first time in my life today:
%coot 23: at 4:00 PM
warning: commands will be executed using /bin/sh
at> myexe
at> <EOT>
job 52 at Fri Jul 17 16:00:00 2009
%coot 24:
(I've been sheltered most of my life by caring sysadmins who never gave "at" privileges to mere mortals like me :wink: )
myexe executes just fine from the interactive shell, but using "at" I get an error message from myexe:
/home/pember/bin/myexe: error while loading shared libraries: libguide.so: cannot open shared object file: No such file or directory
Yes, I'm using Intel compilers, and, yes, in my .cshrc I am setting LD_LIBRARY_PATH to include the directory containing libguide.so. If I use "at -c <jobid>" to examine the status of my job, however, I see that LD_LIBRARY_PATH is not included in the environment for myexe, although all my other environment variables are.
I understand the workarounds. For me, the simplest things were to just put a copy to libguide.so in /home/pember/bin, or to define LD_LIBRARY_PATH in a script that also execute myexe. What I would like know is: why is this necessary.
I came to this forum because I did find one terse reference on the web to this being a security problem. Without giving away the store (I don't want to exploit this, I just want to understand) can someone explain this to me?
%coot 23: at 4:00 PM
warning: commands will be executed using /bin/sh
at> myexe
at> <EOT>
job 52 at Fri Jul 17 16:00:00 2009
%coot 24:
(I've been sheltered most of my life by caring sysadmins who never gave "at" privileges to mere mortals like me :wink: )
myexe executes just fine from the interactive shell, but using "at" I get an error message from myexe:
/home/pember/bin/myexe: error while loading shared libraries: libguide.so: cannot open shared object file: No such file or directory
Yes, I'm using Intel compilers, and, yes, in my .cshrc I am setting LD_LIBRARY_PATH to include the directory containing libguide.so. If I use "at -c <jobid>" to examine the status of my job, however, I see that LD_LIBRARY_PATH is not included in the environment for myexe, although all my other environment variables are.
I understand the workarounds. For me, the simplest things were to just put a copy to libguide.so in /home/pember/bin, or to define LD_LIBRARY_PATH in a script that also execute myexe. What I would like know is: why is this necessary.
I came to this forum because I did find one terse reference on the web to this being a security problem. Without giving away the store (I don't want to exploit this, I just want to understand) can someone explain this to me?