1 #!/bin/sh 2 ############################################################################### 3 ## Copyright (c) International Business Machines Corp., 2003 ## 4 ## ## 5 ## This program is free software; you can redistribute it and/or modify ## 6 ## it under the terms of the GNU General Public License as published by ## 7 ## the Free Software Foundation; either version 2 of the License, or ## 8 ## (at your option) any later version. ## 9 ## ## 10 ## This program is distributed in the hope that it will be useful, ## 11 ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## 12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See ## 13 ## the GNU General Public License for more details. ## 14 ## ## 15 ## You should have received a copy of the GNU General Public License ## 16 ## along with this program; if not, write to the Free Software Foundation, ## 17 ## Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ## 18 ## ## 19 ############################################################################### 20 . daemonlib.sh 21 22 do_setup() 23 { 24 export RHOST="localhost" 25 export TEST_USER_PASSWD="eal" 26 export TEST_USER_ENCRYPTED_PASSWD="42VmxaOByKwlA" 27 export TEST_USER_HOMEDIR="/home/$TEST_USER" 28 29 tst_check_cmds awk expect ftp useradd userdel vsftpd 30 31 for vsftp_confdir in /etc/vsftpd /etc; do 32 if [ -r "$vsftp_confdir/vsftpd.conf" ]; then 33 VSFTP_CONF="$vsftp_confdir/vsftpd.conf" 34 break 35 fi 36 done 37 if [ ! -r "$VSFTP_CONF" ] ; then 38 tst_brkm TBROK "vsftpd.conf not found." 39 fi 40 41 status_daemon vsftpd 42 if [ $? -ne 0 ]; then 43 start_daemon vsftpd 44 if [ $? -ne 0 ]; then 45 tst_brkm TBROK "Can't start vsftp" 46 fi 47 fi 48 49 LOCAL_ENABLE=$(awk -F= '/^local_enable=/ {print $2}' "$VSFTP_CONF") 50 if [ "$LOCAL_ENABLE" != "YES" ]; then 51 LOCAL_ENABLE="NO" 52 fi 53 54 ANONYMOUS_ENABLE=$(awk -F= '/^anonymous_enable=/ {print $2}' "$VSFTP_CONF") 55 if [ "$ANONYMOUS_ENABLE" != "NO" ]; then 56 ANONYMOUS_ENABLE="YES" 57 fi 58 59 if [ $TEST_USER = "root" -o $TEST_USER = "anonymous" ]; then 60 return 61 fi 62 63 userdel -r $TEST_USER 64 sleep 1 65 66 if ! useradd -m -p $TEST_USER_ENCRYPTED_PASSWD $TEST_USER; then 67 tst_brkm TBROK "Could not add test user $TEST_USER to system $RHOST." 68 fi 69 70 # create users home diretory (SLES 8 does not do this, even when specified 71 # in adduser) 72 USER_UID=$(id -u $TEST_USER) 73 USER_GID=$(id -g $TEST_USER) 74 mkdir -p "$TEST_USER_HOMEDIR" 75 chown -R $USER_UID:$USER_GID $TEST_USER_HOMEDIR 76 } 77 78 do_cleanup() 79 { 80 if [ $TEST_USER != "root" -a $TEST_USER != "anonymous" ]; then 81 userdel -r $TEST_USER 82 fi 83 } 84