| #!/bin/sh |
| #********************************************************************* |
| # Copyright (c) International Business Machines Corp., 2000 |
| # |
| # This program is free software; you can redistribute it and/or modify |
| # it under the terms of the GNU General Public License as published by |
| # the Free Software Foundation; either version 2 of the License, or |
| # (at your option) any later version. |
| # |
| # This program is distributed in the hope that it will be useful, |
| # but WITHOUT ANY WARRANTY; without even the implied warranty of |
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See |
| # the GNU General Public License for more details. |
| # |
| # You should have received a copy of the GNU General Public License |
| # along with this program; if not, write to the Free Software |
| # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
| # |
| # FILE : ssh |
| # |
| # PURPOSE: Tests to see that ssh allows a valid username (non-root) |
| # |
| # SETUP: The program `/usr/bin/expect' MUST be installed. |
| # |
| # HISTORY: |
| # 03/03 Jerone Young ([email protected]) |
| # |
| |
| #----------------------------------------------------------------------- |
| # FUNCTION: do_setup |
| #----------------------------------------------------------------------- |
| |
| do_setup() |
| { |
| export RHOST="localhost" |
| export TEST_USER="ssh_usr3" |
| export TEST_USER_PASSWD="eal" |
| export TEST_USER_ENCRYPTED_PASSWD="42VmxaOByKwlA" |
| export TEST_USER_HOMEDIR="/home/$TEST_USER" |
| |
| # erase user if he/she already exists, so we can have a clean env |
| TCtmp=/home/$TEST_USER |
| |
| rm -Rf $TCtmp |
| |
| tst_setup |
| |
| exists expect ssh ssh03_s1 useradd userdel |
| |
| userdel $TEST_USER |
| sleep 1 |
| |
| if ! useradd -m -p $TEST_USER_ENCRYPTED_PASSWD $TEST_USER; then |
| end_testcase "Could not add test user $TEST_USER to system $RHOST." |
| fi |
| |
| # create users home diretory (SLES 8 does not do this, even when specified |
| # in adduser) |
| USER_UID=$(id -u $TEST_USER) |
| USER_GID=$(id -g $TEST_USER) |
| if ! mkdir -p "$TEST_USER_HOMEDIR"; then |
| end_testcase "Failed to create $TEST_USER_HOMEDIR" |
| fi |
| chown -R $USER_UID.$USER_GID "$TEST_USER_HOMEDIR" |
| |
| trap do_cleanup EXIT |
| |
| } |
| |
| #----------------------------------------------------------------------- |
| # FUNCTION: do_cleanup |
| #----------------------------------------------------------------------- |
| |
| do_cleanup() |
| { |
| userdel $TEST_USER |
| tst_cleanup |
| } |
| |
| #----------------------------------------------------------------------- |
| # FUNCTION: MAIN |
| # |
| # DESCRIPTION: Create Test User |
| # Call upon script to make sure an invalid user can not have access |
| # Cleanup Test User from system |
| # Exit with exit code of script called upon |
| #----------------------------------------------------------------------- |
| . net_cmdlib.sh |
| |
| read_opts $* |
| do_setup |
| ssh03_s1 || end_testcase "Testcase failed" |
| do_cleanup |