1 #! /usr/bin/ksh -p 2 # 3 # CDDL HEADER START 4 # 5 # The contents of this file are subject to the terms of the 6 # Common Development and Distribution License (the "License"). 7 # You may not use this file except in compliance with the License. 8 # 9 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10 # or http://www.opensolaris.org/os/licensing. 11 # See the License for the specific language governing permissions 12 # and limitations under the License. 13 # 14 # When distributing Covered Code, include this CDDL HEADER in each 15 # file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16 # If applicable, add the following below this CDDL HEADER, with the 17 # fields enclosed by brackets "[]" replaced with your own identifying 18 # information: Portions Copyright [yyyy] [name of copyright owner] 19 # 20 # CDDL HEADER END 21 # 22 23 # 24 # Copyright 2006 Sun Microsystems, Inc. All rights reserved. 25 # Use is subject to license terms. 26 # 27 # simple setuid program to do share/unshare at SERVER 28 # 29 30 [ -n "$DEBUG" ] && [ "$DEBUG" != "0" ] && set -x 31 32 NAME=`basename $0` 33 34 # It's assumed that env. variables (SERVER, TESTROOT, TMPDIR) are set 35 . $TESTROOT/testsh 36 37 # check for root to run 38 is_root $NAME 39 40 if [ $# -lt 1 ]; then 41 echo "Usage: $NAME action(share|unshare)" 42 exit 1 43 fi 44 45 ACTION=$1 46 47 # setup the command based on the ACTION 48 case $ACTION in 49 share) 50 CMD="/usr/sbin/shareall" ;; 51 unshare) 52 CMD="/usr/sbin/unshareall" ;; 53 *) 54 echo "Unknow action=$ACTION, try [share|unshare]" 55 exit 5 56 esac 57 58 59 echo "$NAME: Calling $CMD at $SERVER ... \c" 60 execute $SERVER root $CMD > $TMPDIR/$NAME.exe.$$ 2>&1 61 if [ $? -ne 0 ]; then 62 echo "FAIL" 63 echo "$NAME: failed to run $CMD at $SERVER" 64 cat $TMPDIR/$NAME.exe.$$ 65 exit 10 66 fi 67 68 echo "OK" 69 rm -f $TMPDIR/$NAME.*.$$ 70 exit 0