MOON
Server: Apache/2.2.21 (Unix) mod_ssl/2.2.21 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4
System: Linux vps.panamaemb.org.sg 3.10.0-1160.80.1.vz7.191.4 #1 SMP Thu Dec 15 20:31:06 MSK 2022 x86_64
User: panama (500)
PHP: 5.2.17
Disabled: NONE
Upload Files
File: //proc/2/cwd/usr/share/doc/rsync-3.0.6/support/lsh
#!/bin/sh
# This script can be used as a "remote shell" command that is only
# capable of pretending to connect to "localhost".  This is useful
# for testing or for running a local copy where the sender and the
# receiver needs to use different options (e.g. --fake-super).  If
# we get a -l USER option, we try to use "sudo -u USER" to run the
# command.

user=''
prefix=''
do_cd=y # Default path is user's home dir, just like ssh.

while : ; do
    case "$1" in
    -l) user="$2"; shift; shift ;;
    -l*) user=`echo $1 | sed 's/^-l//'`; shift ;;
    --no-cd) do_cd=n; shift ;;
    -*) shift ;;
    localhost) shift; break ;;
    *) echo "lsh: unable to connect to host $1" 1>&2; exit 1 ;;
    esac
done

if [ "$user" ]; then
    prefix="sudo -H -u $user"
    if [ $do_cd = y ]; then
	home=`perl -e "print((getpwnam("$user"))[7])"`
	# Yeah, this may fail, but attempts to get sudo to cd are harder.
	cd $home
    fi
elif [ $do_cd = y ]; then
    cd
fi

eval $prefix "${@}"