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