1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
--- a/sux
+++ b/sux
@@ -29,7 +29,6 @@
# are on NFS. In such a case, change the default to copy-cookies.
sux_root_cookie_transfer="c"
-
usage()
{
echo "usage: `basename $0` [-m|-p|--preserve-environment]" >&2
@@ -230,10 +229,10 @@
# Remove the old cookies. They may cause trouble if we transfer only one
# cookie, e.g. an MIT cookie, and there's still a stale XDM cookie hanging
# around.
- export TERM="xauth -q remove $DISPLAY 2>/dev/null;"
+ export TERM="/usr/bin/xauth -q remove $DISPLAY 2>/dev/null;"
if [ -n "$sux_unix_display" ]
then
- TERM="$TERM xauth -q remove $sux_unix_display;"
+ TERM="$TERM /usr/bin/xauth -q remove $sux_unix_display;"
fi
# Note that there may be more than one cookie to transfer, hence
@@ -250,7 +249,7 @@
sux_i=`expr $sux_i + 1`
if [ $sux_i -eq 9 ]
then
- TERM="$TERM | xauth nmerge - ;"
+ TERM="$TERM | /usr/bin/xauth nmerge - ;"
sux_i=0
fi
done
@@ -316,12 +315,12 @@
# wouldn't have the proper access rights anyway...
unset XAUTHORITY
+sux_home=`egrep "^$sux_username:" /etc/passwd | cut -d: -f6`
##
# --preserve-environment special case
if [ -n "$sux_preserve" -a -n "$sux_xauth_cmd" ]
then
- sux_home=`egrep "^$sux_username:" /etc/passwd | cut -d: -f6`
if [ -z "$sux_home" ]
then
echo "WARNING: --preserve-environment has been set, but no good value was found for XAUTHORITY, expect trouble" >&2
@@ -334,4 +333,4 @@
##
# Execute su
exec su $sux_su_opts -c "$sux_xauth_cmd \
- exec env $sux_xauthority $sux_term DISPLAY='$DISPLAY' $sux_cmd;"
+ exec env $sux_xauthority $sux_term HOME='$sux_home' DISPLAY='$DISPLAY' $sux_cmd;"
|