
#!/bin/sh
# File	: set_export-rules.sh
# By	: Maarten.deBoer@Atos.net, 230619
# Subject	: Script to configure the NFS-export-rule for a cust (AVI for SAP)
PGM=`basename $0|cut -d\. -f1`
VER="0.1"
SSH="/usr/bin/ssh -n"

CLUSTER="nlnaf100"
VSERVER="nlnafsavi02"
#POLICY="ded"
#POLICY="deq"
#CLIENTMATCH="nlxavi320nas"
# DWD to nlxavi340
POLICY="dwd"
CLIENTMATCH="nlxavi340nas"
POLICY="sjd"
CLIENTMATCH="nlxavi320nas"
POLICY="asd"
CLIENTMATCH="nlxavi420nas"
POLICY="ajd"
CLIENTMATCH="nlxavi420nas"
POLICY="deq"
CLIENTMATCH="nlxavi320nas"

CLUSTER="nlnaf101"
VSERVER="nlnafsavi01"
POLICY="grd"
CLIENTMATCH="nlxavi353nas"
POLICY="gjd"
CLIENTMATCH="nlxavi353nas"


# 1st: a default export policy /vserver
echo "  Policy : default"
${SSH} ${CLUSTER} "export-policy rule show -vserver ${VSERVER} -policy default -client 0.0.0.0/0 -field ro,rw,anon,super,allow-dev,allow-suid,prot,client"
EC=${?}
if [ ${EC} -ne 0 ]; then
  ${SSH} ${CLUSTER} "export-policy rule create -vserver ${VSERVER} -policy default -ruleindex 1 -protocol any -rorule sys -rwrule never -superuser none -clientmatch 0.0.0.0/0 -allow-suid false -allow-dev false"
  ${SSH} ${CLUSTER} "export-policy rule show -vserver ${VSERVER} -policy default -client 0.0.0.0/0 -field ro,rw,anon,super,allow-dev,allow-suid,prot,client"
fi  # EC > 0


# Policy
echo "  Policy : ${POLICY}"
${SSH} ${CLUSTER} "export-policy show -vserver ${VSERVER} -policy ${POLICY} -field vserver,policyname"
EC=${?}
echo "  EC=${EC}"
# If no policy, the create one
if [ ${EC} -ne 0 ]; then
  ${SSH} ${CLUSTER} "export-policy create -vserver ${VSERVER} -policy ${POLICY}"
  ${SSH} ${CLUSTER} "export-policy show -vserver ${VSERVER} -policy ${POLICY} -field vserver,policyname"
fi  # EC > 0

# Policy-rule
${SSH} ${CLUSTER} "export-policy rule show -vserver ${VSERVER} -policy ${POLICY} -field ro,rw,anon,super,allow-dev,allow-suid,prot,client"
EC=${?}
echo "  EC=${EC}"
# If no rule, the create one (with -rule 11. All the ones after NO rule-index)
if [ ${EC} -ne 0 ]; then
  ${SSH} ${CLUSTER} "export-policy rule create -vserver ${VSERVER} -policy ${POLICY} -rule 11 -clientmatch ${CLIENTMATCH} -allow-suid true -rwrule sys -rorule sys -superuser sys -allow-dev false"
else
  ${SSH} ${CLUSTER} "export-policy rule show -vserver ${VSERVER} -policy ${POLICY} -clientmatch ${CLIENTMATCH} -field ro,rw,anon,super,allow-dev,allow-suid,prot,client"
  EC=${?}
  echo "    EC=${EC}"
  if [ ${EC} -ne 0 ]; then
    ${SSH} ${CLUSTER} "export-policy rule create -vserver ${VSERVER} -policy ${POLICY} -clientmatch ${CLIENTMATCH} -allow-suid true -rwrule sys -rorule sys -superuser sys -allow-dev false"
  fi # EC > 0

fi # EC > 0

echo "  For Policy : ${POLICY}"
${SSH} ${CLUSTER} "export-policy rule show -vserver ${VSERVER} -policy ${POLICY} -field ro,rw,anon,super,allow-dev,allow-suid,prot,client"

echo "  For Vserver : ${VSERVER}"
${SSH} ${CLUSTER} "export-policy rule show -vserver ${VSERVER} -policy * -field ro,rw,anon,super,allow-dev,allow-suid,prot,client"




exit 0

