1 |
paus |
1.1 |
#!/bin/bash
|
2 |
|
|
#===================================================================================================
|
3 |
|
|
# Interface to execute a script on the server as globus ticket mapped user.
|
4 |
|
|
#===================================================================================================
|
5 |
|
|
TICKET=/tmp/x509up_u`id -u`
|
6 |
|
|
SCRIPT=$1
|
7 |
|
|
|
8 |
|
|
if [ ".$2" != "." ]
|
9 |
|
|
then
|
10 |
|
|
#echo " Generating script: sc.$$"
|
11 |
|
|
echo "#!/bin/bash" > sc.$$
|
12 |
|
|
#echo "whoami" >> sc.$$
|
13 |
|
|
#echo "echo $*" >> sc.$$
|
14 |
|
|
echo "$*" >> sc.$$
|
15 |
|
|
SCRIPT=sc.$$
|
16 |
|
|
fi
|
17 |
|
|
|
18 |
|
|
# Make sure it is executable
|
19 |
|
|
chmod 755 $SCRIPT
|
20 |
|
|
|
21 |
|
|
# Copy ticket and script
|
22 |
|
|
scp $TICKET paus@se01.cmsaf.mit.edu:/tmp/x509up_uTmp 2> /dev/null
|
23 |
|
|
scp $SCRIPT paus@se01.cmsaf.mit.edu:/tmp/ 2> /dev/null
|
24 |
|
|
|
25 |
|
|
# Execute the script
|
26 |
|
|
ssh paus@se01.cmsaf.mit.edu \
|
27 |
|
|
"export GLEXEC_CLIENT_CERT=/tmp/x509up_uTmp; /osg/grid/glexec-osg/sbin/glexec /tmp/$SCRIPT"
|
28 |
|
|
|
29 |
|
|
# Cleanup remotely
|
30 |
|
|
ssh paus@se01.cmsaf.mit.edu \
|
31 |
|
|
"rm /tmp/$SCRIPT /tmp/x509up_uTmp"
|
32 |
|
|
|
33 |
|
|
# Cleanup locally
|
34 |
|
|
if [ -e sc.$$ ]
|
35 |
|
|
then
|
36 |
|
|
rm sc.$$
|
37 |
|
|
fi
|
38 |
|
|
|
39 |
|
|
exit 0
|