mirror of
git://anongit.mindrot.org/openssh.git
synced 2024-11-23 18:23:25 +08:00
ce44c970f9
Allow to run ssh regression tests as root. If the user is already root, the test should not expect that SUDO is set. If ssh needs another user, use sudo or doas to switch from root if necessary. OK dtucker@ Upstream-Regress-ID: b464e55185ac4303529e3e6927db41683aaeace2
32 lines
840 B
Bash
32 lines
840 B
Bash
# $OpenBSD: sftp-chroot.sh,v 1.5 2016/09/26 21:34:38 bluhm Exp $
|
|
# Placed in the Public Domain.
|
|
|
|
tid="sftp in chroot"
|
|
|
|
CHROOT=/var/run
|
|
FILENAME=testdata_${USER}
|
|
PRIVDATA=${CHROOT}/${FILENAME}
|
|
|
|
if [ -z "$SUDO" -a ! -w /var/run ]; then
|
|
echo "skipped: need SUDO to create file in /var/run, test won't work without"
|
|
exit 0
|
|
fi
|
|
|
|
if ! $OBJ/check-perm -m chroot "$CHROOT" ; then
|
|
echo "skipped: $CHROOT is unsuitable as ChrootDirectory"
|
|
exit 0
|
|
fi
|
|
|
|
$SUDO sh -c "echo mekmitastdigoat > $PRIVDATA" || \
|
|
fatal "create $PRIVDATA failed"
|
|
|
|
start_sshd -oChrootDirectory=$CHROOT -oForceCommand="internal-sftp -d /"
|
|
|
|
verbose "test $tid: get"
|
|
${SFTP} -S "$SSH" -F $OBJ/ssh_config host:/${FILENAME} $COPY \
|
|
>>$TEST_REGRESS_LOGFILE 2>&1 || \
|
|
fatal "Fetch ${FILENAME} failed"
|
|
cmp $PRIVDATA $COPY || fail "$PRIVDATA $COPY differ"
|
|
|
|
$SUDO rm $PRIVDATA
|