X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/d64bda1c1e79dc385f194d74f7957ce7cd118654..bd685982389b78a158921b7839bdeca501338d19:/support/lsh diff --git a/support/lsh b/support/lsh index 65488dc7..b63444e3 100755 --- a/support/lsh +++ b/support/lsh @@ -7,7 +7,6 @@ # command. user='' -prefix='' do_cd=y # Default path is user's home dir, just like ssh. while : ; do @@ -22,14 +21,15 @@ while : ; do done if [ "$user" ]; then - prefix="sudo -H -u '$user'" + prefix='' 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 + prefix="cd '$home' &&" fi -elif [ $do_cd = y ]; then - cd + sudo -H -u "$user" sh -c "$prefix $*" +else + if [ $do_cd = y ]; then + cd || exit 1 + fi + eval "${@}" fi - -eval $prefix "${@}"