1fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiew#!/bin/sh 2fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiew#********************************************************************* 3fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiew# Copyright (c) International Business Machines Corp., 2000 4fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiew# 5fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiew# This program is free software; you can redistribute it and/or modify 6fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiew# it under the terms of the GNU General Public License as published by 7fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiew# the Free Software Foundation; either version 2 of the License, or 8fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiew# (at your option) any later version. 9fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiew# 10fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiew# This program is distributed in the hope that it will be useful, 11fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiew# but WITHOUT ANY WARRANTY; without even the implied warranty of 12fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiew# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See 13fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiew# the GNU General Public License for more details. 14fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiew# 15fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiew# You should have received a copy of the GNU General Public License 166518012db8b99b04ef3e4df22aefe82fa487b809Rishikesh K Rajak# along with this program; if not, write to the Free Software 174548c6cf9bcdd96d8303caa4130ab638b61f8a30Wanlong Gao# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 18fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiew# 1937550cf5a86c7ca7424a2a318dd64e550f13f5dfChris Dearman# FILE : cron 20fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiew# 21fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiew# PURPOSE: Test a bad (negative) cron job 22fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiew# - try to edit the crontab of root 23fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiew# - try to set illegal or nondefined execution times 24fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiew# Here the script uses file illegal_cron_lines which contains two 25fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiew# fields per line: the cron line to be tested (without script name), 26fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiew# and the description of this test. The description is written to 27fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiew# stdout during execution of the test. 28fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiew# - try to do things you aren't allowed as non-root (cron runs as root) 29fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiew 30fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiew# 31fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiew# HISTORY: 32fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiew# SUSE 33fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiew# 34fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiew 35fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiew 36fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiewTEST_USER="c02_user" 37fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiewTEST_USER_GROUP="users" 38fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiewTEST_USER_HOMEDIR="/home/$TEST_USER" 39fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiew 40fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiew#----------------------------------------------------------------------- 41fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiew# FUNCTION: do_setup 42fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiew#----------------------------------------------------------------------- 43fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiew 44fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiewdo_setup(){ 45fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiew 46fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiew #erase user if he may exist , so we can have a clean env 47fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiew rm -rf /home/$TEST_USER 4837550cf5a86c7ca7424a2a318dd64e550f13f5dfChris Dearman userdel $TEST_USER 49fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiew sleep 1 50fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiew 5137550cf5a86c7ca7424a2a318dd64e550f13f5dfChris Dearman useradd -m -g $TEST_USER_GROUP $TEST_USER 52fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiew if [ $? != 0 ] 53fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiew then { 54fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiew echo "Could not add test user $TEST_USER to system $RHOST." 55fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiew exit 1 56fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiew } 57fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiew fi 58fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiew # restart cron daemon 597abcfdebd282e180f056ac8993476da9ba6cd212subrata_modak # Red Hat uses crond, SuSE/Other uses cron. 607abcfdebd282e180f056ac8993476da9ba6cd212subrata_modak if [ -f /etc/init.d/crond ]; then 617abcfdebd282e180f056ac8993476da9ba6cd212subrata_modak /etc/init.d/crond restart 627abcfdebd282e180f056ac8993476da9ba6cd212subrata_modak else 637abcfdebd282e180f056ac8993476da9ba6cd212subrata_modak /etc/init.d/cron restart 647abcfdebd282e180f056ac8993476da9ba6cd212subrata_modak fi 65fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiew} 66fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiew 67fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiew#----------------------------------------------------------------------- 68fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiew# FUNCTION: do_cleanup 69fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiew#----------------------------------------------------------------------- 70fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiew 71fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiewdo_cleanup(){ 72fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiew rm -rf /home/$TEST_USER 7337550cf5a86c7ca7424a2a318dd64e550f13f5dfChris Dearman userdel $TEST_USER 74fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiew} 75fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiew 76fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiew#----------------------------------------------------------------------- 77fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiew# FUNCTION: MAIN 78fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiew#----------------------------------------------------------------------- 79fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiewdo_setup 80fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiewcron_neg_tests.sh $TEST_USER 81fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiewEXIT_CODE=$? 82fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiewdo_cleanup 83fec8b66cf1ddbcb2a124bfe25c5e89e6417a22a3robbiewexit $EXIT_CODE 84