Damien Miller | 1e2aa3d | 2014-02-28 10:19:51 +1100 | [diff] [blame^] | 1 | # $OpenBSD: sftp-chroot.sh,v 1.4 2014/01/20 00:00:30 dtucker Exp $ |
Darren Tucker | f3568fc | 2013-05-17 09:35:26 +1000 | [diff] [blame] | 2 | # Placed in the Public Domain. |
| 3 | |
| 4 | tid="sftp in chroot" |
| 5 | |
Darren Tucker | f3568fc | 2013-05-17 09:35:26 +1000 | [diff] [blame] | 6 | CHROOT=/var/run |
| 7 | FILENAME=testdata_${USER} |
| 8 | PRIVDATA=${CHROOT}/${FILENAME} |
| 9 | |
| 10 | if [ -z "$SUDO" ]; then |
Tim Rice | 3f3064c | 2013-06-02 15:13:09 -0700 | [diff] [blame] | 11 | echo "skipped: need SUDO to create file in /var/run, test won't work without" |
| 12 | exit 0 |
Darren Tucker | f3568fc | 2013-05-17 09:35:26 +1000 | [diff] [blame] | 13 | fi |
| 14 | |
| 15 | $SUDO sh -c "echo mekmitastdigoat > $PRIVDATA" || \ |
| 16 | fatal "create $PRIVDATA failed" |
| 17 | |
| 18 | start_sshd -oChrootDirectory=$CHROOT -oForceCommand="internal-sftp -d /" |
| 19 | |
| 20 | verbose "test $tid: get" |
Damien Miller | f483cc1 | 2014-02-28 10:19:11 +1100 | [diff] [blame] | 21 | ${SFTP} -S "$SSH" -F $OBJ/ssh_config host:/${FILENAME} $COPY \ |
Damien Miller | 1e2aa3d | 2014-02-28 10:19:51 +1100 | [diff] [blame^] | 22 | >>$TEST_REGRESS_LOGFILE 2>&1 || \ |
Darren Tucker | f3568fc | 2013-05-17 09:35:26 +1000 | [diff] [blame] | 23 | fatal "Fetch ${FILENAME} failed" |
| 24 | cmp $PRIVDATA $COPY || fail "$PRIVDATA $COPY differ" |
| 25 | |
| 26 | $SUDO rm $PRIVDATA |