# $OpenBSD: sftp-chroot.sh,v 1.5 2016/09/26 21:34:38 bluhm Exp $ # Placed in the Public Domain. setglobal tid = '"sftp in chroot'" setglobal CHROOT = '/var/run' setglobal FILENAME = "testdata_$(USER)" setglobal PRIVDATA = "$(CHROOT)/$(FILENAME)" if test -z $SUDO -a ! -w /var/run { echo "skipped: need SUDO to create file in /var/run, test won't work without" exit 0 } if ! $OBJ/check-perm -m chroot $CHROOT { echo "skipped: $CHROOT is unsuitable as ChrootDirectory" exit 0 } $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