liyujie
2025-08-28 786ff4f4ca2374bdd9177f2e24b503d43e7a3b93
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#    $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