# /var/mqm/aut/TESTQMGR  Set MQS Object Authorizations     08/16/2001-02/26/2002
# ------------------------------------------------------------------------------
# Copyright (C) 2001-2002 by Vladimir Veytsel                      www.davar.net

# 1. Script execution mode parameter (optional):

#    "S" or "s"      value causes authorizations to be SET only;
#    other non-empty value causes authorizations to be SET & displayed;
# -            empty value causes authorizations to be only  displayed.

# Dbg=echo  # Uncomment for debugging

  MQM=TESTQMGR

  User=$(id | cut -f2 -d'(' | cut -f1 -d')')

  if [[ $User = root || $User = mqm ]]

     then Users="user1 user2"

#                 Keep queue names sorted to simplify maintenance
          Queues=
          Queues="$Queues TRANS.DATA"
          Queues="$Queues TRANS.REPLY"
          Queues="$Queues TRANS.TRACE"

          for N in 1 2
              do
                 Queues="$Queues TEST$N.DATA"
                 Queues="$Queues TEST$N.REPLY"
                 Queues="$Queues TEST$N.TRACE"
              done

          for T in DEMO REAL
              do for N in 1 2
                     do
                        Queues="$Queues $T$N.DATA"
                        Queues="$Queues $T$N.REPLY"
                        Queues="$Queues $T$N.TRACE"
                     done
              done

          cd /usr/bin

          if [[ $1. != . ]]
             then for User in $Users
                      do $Dbg setmqaut -m $MQM -p $User -t qmgr +allmqi
                         $Dbg setmqaut -m $MQM -p $User -t queue -n SYSTEM.DEAD.LETTER.QUEUE +browse
                         for Queue in $Queues
                             do $Dbg setmqaut -m $MQM -p $User -t queue -n $Queue +allmqi
                             done
                      done
                  $Dbg setmqaut -m $MQM -p user1 -t queue -n USER.DEAD.LETTER.QUEUE +get
                  $Dbg setmqaut -m $MQM -p user2 -t queue -n USER.DEAD.LETTER.QUEUE +browse
          fi

          if [[ $1. != [Ss]. ]]
             then for User in $Users
                      do $Dbg dspmqaut -m $MQM -p $User -t qmgr
                         $Dbg dspmqaut -m $MQM -p $User -t queue -n SYSTEM.DEAD.LETTER.QUEUE
                         for Queue in $Queues
                             do $Dbg dspmqaut -m $MQM -p $User -t queue -n $Queue
                             done
                      done
                  $Dbg dspmqaut -m $MQM -p user1 -t queue -n USER.DEAD.LETTER.QUEUE
                  $Dbg dspmqaut -m $MQM -p user2 -t queue -n USER.DEAD.LETTER.QUEUE
          fi

          unset User Users Queue Queues

     else echo Sorry, $MQM object authorization setup script requires
          echo root or mqm authority for execution, but you are $User.
          id
  fi
