|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
#!/bin/bash
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
#
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
# runtest.sh of /CoreOS/lftp/Sanity/sftp
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
# Description: Basic test for SFTP file transfer
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
# Author: Martin Frodl <mfrodl@redhat.com>
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
#
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
#
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
# Copyright (c) 2016 Red Hat, Inc.
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
#
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
# This program is free software: you can redistribute it and/or
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
# modify it under the terms of the GNU General Public License as
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
# published by the Free Software Foundation, either version 2 of
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
# the License, or (at your option) any later version.
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
#
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
# This program is distributed in the hope that it will be
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
# PURPOSE. See the GNU General Public License for more details.
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
#
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
# You should have received a copy of the GNU General Public License
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
# along with this program. If not, see http://www.gnu.org/licenses/.
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
#
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
# Include Beaker environment
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
PACKAGES="lftp"
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
rlJournalStart
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
rlPhaseStartSetup
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
rlAssertRpm "$PACKAGES"
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
rlRun "useradd lftp" 0 "Creating user lftp"
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
rlRun "passwd --stdin lftp <<< lftp" 0 "Setting password"
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
rlRun "REMOTE=\$(mktemp -d)" 0 "Creating remote directory"
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
rlRun "touch ${REMOTE}/file1" 0 "Creating remote file"
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
rlRun "mkdir ${REMOTE}/dir" 0 "Creating remote subdirectory"
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
rlRun "touch ${REMOTE}/dir/file2" 0 "Creating another remote file"
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
rlRun "chmod -R 0755 ${REMOTE}" 0 "Allowing access to remote directory for user lftp"
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
rlRun "LOCAL=\$(mktemp -d)" 0 "Creating local directory"
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
rlRun "pushd ${LOCAL}"
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
if ! rlIsRHEL '<8'; then
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
if ! test -e ~/.ssh/known_hosts; then
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
rlRun "mkdir -p ~/.ssh" 0 "Create ~/.ssh"
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
fi
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
rlRun "ssh-keyscan $(hostname) >> ~/.ssh/known_hosts" 0 "Add localhost to known_hosts"
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
fi
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
rlPhaseEnd
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
rlPhaseStartTest "Mirroring files and directories"
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
rlRun "lftp -u lftp,lftp -e 'mirror ${REMOTE} ${LOCAL}; exit' sftp://${HOSTNAME}" \
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
0 "Mirroring ${REMOTE} to ${LOCAL}"
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
rlAssertExists "file1"
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
rlAssertExists "dir"
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
rlAssertExists "dir/file2"
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
rlRun "rm -rf *" 0 "Cleaning local directory"
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
rlPhaseEnd
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
rlPhaseStartTest "Mirroring symlinks [BZ#1305235]"
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
rlRun "TARGET=\$(mktemp -d)" 0 "Creating another directory"
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
rlRun "touch ${TARGET}/file3" 0 "Creating file inside it"
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
rlRun "ln -s ${TARGET} ${REMOTE}/symlink1" 0 "Creating symlink to it"
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
rlRun "chmod -R 0755 ${TARGET}" 0 "Allowing access to remote directory for user lftp"
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
rlRun "lftp -u lftp,lftp -e 'mirror -L ${REMOTE} ${LOCAL}; exit' sftp://${HOSTNAME}" \
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
0 "Mirroring ${REMOTE} to ${LOCAL} (follow symlinks)"
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
rlAssertExists "symlink1"
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
rlAssertExists "symlink1/file3"
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
rlRun "rm -rf *" 0 "Cleaning local directory"
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
rlPhaseEnd
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
rlPhaseStartTest "Mirroring circular symlinks"
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
rlRun "ln -s ${REMOTE} ${TARGET}/symlink2" 0 "Creating symlink cycle"
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
rlRun "lftp -u lftp,lftp -e 'mirror -L ${REMOTE} ${LOCAL}; exit' sftp://${HOSTNAME}" \
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
0,41,1 "Mirroring ${REMOTE} to ${LOCAL} (follow symlinks)"
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
rlAssertExists "symlink1"
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
rlAssertExists "symlink1/file3"
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
rlAssertExists "symlink1/symlink2"
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
rlAssertExists "symlink1/symlink2/file1"
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
rlRun "rm -rf *" 0 "Cleaning local directory"
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
rlPhaseEnd
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
rlPhaseStartCleanup
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
rlRun "popd"
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
rlRun "rm -r ${REMOTE} ${LOCAL} ${TARGET}" 0 "Removing test directories"
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
rlRun "userdel -rf lftp" 0 "Deleting user lftp"
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
rlPhaseEnd
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
rlJournalPrintText
|
|
![](https://seccdn.libravatar.org/avatar/939379db7cd88be880291c394ef226c30009bb244f615ad469f56faea59a4962?s=16&d=retro) |
fa530fb |
rlJournalEnd
|