upstream: test ChrootDirectory in Match block

OpenBSD-Regress-ID: a6150262f39065939f025e546af2a346ffe674c1
This commit is contained in:
djm@openbsd.org 2023-05-12 06:37:42 +00:00 committed by Damien Miller
parent e43f43d3f1
commit 8eb8899d61
No known key found for this signature in database
1 changed files with 21 additions and 2 deletions

View File

@ -1,4 +1,4 @@
# $OpenBSD: sftp-chroot.sh,v 1.8 2021/09/01 00:50:27 dtucker Exp $
# $OpenBSD: sftp-chroot.sh,v 1.9 2023/05/12 06:37:42 djm Exp $
# Placed in the Public Domain.
tid="sftp in chroot"
@ -19,10 +19,29 @@ fi
$SUDO sh -c "echo mekmitastdigoat > $PRIVDATA" || \
fatal "create $PRIVDATA failed"
start_sshd -oChrootDirectory=$CHROOT -oForceCommand="internal-sftp -d /"
echo "ForceCommand internal-sftp -d /" >> $OBJ/sshd_config
start_sshd -oChrootDirectory=$CHROOT
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"
stop_sshd
verbose "test $tid: match"
cat << EOF >> $OBJ/sshd_config
Match All
ChrootDirectory $CHROOT
EOF
start_sshd
$SUDO sh -c "echo orpheanbeholder > $PRIVDATA" || \
fatal "create $PRIVDATA failed"
${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"
stop_sshd