В предыдущей лекции были рассмотрены примеры создания интерфейсов передачи данных без учета вопросов авторизации и доступа. WebSphere MQ имеет свой механизм предоставления прав доступа и аутентификации пользователя . Ограничения по доступу могут быть на уровне удаленного управления менеджером очередей и на уровне доступа к определенным объектам.
setmqaut -m QMgrName -n Profile -t ObjectType
-s ServiceComponent -remove
-p PrincipalName [-g GroupName]
MQI authorizations [Administration
authorizations] [Generic authorizations]
-m QmgrName - имя менеджера очередей.
?, *, ** ). Например, если необходимо произвести авторизацию ко всем очередям, начинающимся на PAY, то опция Profile будет выглядеть
-n PAY*
-t ObjectType - тип объекта менеджера. Может иметь значения q или queue для очередей, или process для процессов, nl или namelist для списков кластеров, authinfo для использования механизма SSL.
-s ServiceComponent - имя установленного сервиса авторизации, с помощью которого будут произведены изменения прав доступа. Параметр не является обязательным.
-remove - лишает прав доступа к объектам, указанным перед ним.
-p PrincipalName или -g GroupName - имя пользователя или группы, для которой производится изменение прав доступа к объектам. Для платформы Windows возможно указание доменной учетной записи в формате userid@domain.
Рассмотрим опции авторизации: , Administration authorizations и Generic authorizations. Перед данными опциями должны указываться символы " + " или " - ", разрешающие или запрещающие соответствующие действия.
- опции команды для авторизации . Может принимать значения:
altusr - дает возможность использовать имя другой учетной записи для функций MQOPEN и MQPUT1 ;browse - разрешает просмотр сообщений в очереди функцией MQGET , если очередь открыта на просмотр с опцией BROWSE ;connect - разрешает подключение к менеджеру очередей;get - разрешает считывание сообщение из очереди;inq - разрешает считывание значения put - разрешает помещать сообщения в очередь;set - разрешает изменять Administration authorizations - опции команды для авторизации на выполнение действий. Может принимать значения:
chg - изменение атрибутов объекта;clr - удаление сообщений из очереди (доступно только для PCF команд);crt - создание объектов;dsp - просмотр атрибутов объектаGeneric authorizations - опции авторизации для групповых операций. Может принимать значения:
all - предоставляет все права на объект;alladm - предоставляет все административные права на объект;allmqi - предоставляет возможность none - создает в своем механизме аутентификации запись для профиля пользователя не предоставляя ему никаких прав;Опции команды применяются не ко всем объектам менеджера очередей. В таблице 5.1. указано соответствие между опциями и объектами.
| Authority | Queue | Process | Queue manager | Namelist | Authentication information |
|---|---|---|---|---|---|
all |
+ | + | + | + | + |
alladm |
+ | + | + | + | + |
allmqi |
+ | + | + | + | + |
none |
+ | + | + | + | + |
altusr |
- | - | + | - | - |
browse |
+ | - | - | - | - |
chg |
+ | + | + | + | + |
clr |
+ | - | - | - | - |
connect |
- | - | + | - | - |
crt |
+ | + | + | + | + |
|
+ | + | + | + | + |
dsp |
+ | + | + | + | + |
get |
+ | - | - | - | - |
put |
+ | - | - | - | - |
inq |
+ | + | + | + | + |
set |
+ | - | - | - | - |
Синтаксис команды имеет несколько особенностей. Если в названии объекта присутствует символ " ?, .", то каждая часть имени, разделенная точкой должна использовать свои символы групповой замены. Рассмотрим примеры применения команды к объектам менеджера QM_Win2000 для учетной записи (пользователя) test1. Условиями выполнения команды является наличие учетной записи test1 и указанных в примерах очередей.
setmqaut -m QM_Win2000 -t qmgr
-p test1 +connect
MQGET , во всех очередях, начинающихся на Win2000_HPUX. и заканчивающихся на любой допустимый символ, если очередь открыта на просмотр с опцией BROWSEsetmqaut -m QM_Win2000 -n Win2000_HPUX.?
-t queue -p test1 +browse
setmqaut -m QM_Win2000 -n Vip*.* -t queue
-p test1 -get
Win2000_HPUX. и имеющим после точки два символа, причем левый символ может быть любымsetmqaut -m QM_Win2000 -n Win2000_HPUX.?Q
-t queue -p test1 +dlt +dsp
A1setmqaut -m QM_Win2000 -n A1 -t queue
-p test1 +all
setmqaut -m QM_Win2000 -n ?2 -t queue
-p test1 +all
setmqaut -m QM_Win2000 -n **.CQ -t queue
-p test1 +all
Qsetmqaut -m QM_Win2000 -n NO*.Q -t queue
-p test1 +get
DEAD_LETTERsetmqaut -m QM_Win2000 -n DEAD_LETTER
-t queue -p test1 +put +browse +get
A1setmqaut -m QM_Win2000 -n A1 -t queue
-p test1 -put
С помощью команды нельзя предоставлять доступ к объектам кластера, которые физически расположены на удаленных менеджерах.
Коды возврата команды указаны в таблице 5.2.
| 0 | Successful operation | Ошибок нет |
| 36 | Invalid arguments supplied | Содержится неправильный аргумент |
| 40 | Queue manager not available | Менеджер очередей недоступен |
| 49 | Queue manager stopping | Менеджер очередей остановлен |
| 69 | Storage not available | Невозможно сохранить изменения |
| 71 | Unexpected error | Непредвиденная ошибка |
| 72 | Queue manager name error | Ошибка в имени менеджера |
| 133 | Unknown object name | Неизвестное имя объекта |
| 145 | Unexpected object name | Непредвиденное имя объекта |
| 146 | Object name missing | Отсутствует имя объекта |
| 147 | Отсутствует тип объекта | |
| 148 | Invalid |
Неправильный тип объекта |
| 149 | Entity name missing | Отсутствует имя объекта |
| 150 | Authorization specification missing | Отсутствует опция авторизации |
| 151 | Invalid authorization specification | Неправильная опция авторизации |
Просмотреть права учетной записи (пользователя) к объекту на локальном менеджере можно с помощью команды . Синтаксис команды
dspmqaut -m QMgrName -n ObjectName
-t ObjectType -s ServiceComponent
-p PrincipalName [-g GroupName]
-m QmgrName - имя менеджера очередей.
-n ObjectName - имя объекта менеджера, к которому применяется команда.
-t ObjectType - тип объекта менеджера. Может иметь значения q или queue для очередей, или process для процессов, nl или namelist для списков кластеров, authinfo для использования механизма SSL.
-s ServiceComponent - имя установленного сервиса авторизации, с помощью которого будет произведен просмотр прав доступа. Параметр не является обязательным.
-p PrincipalName или -g GroupName - имя пользователя или группы, для которой производится просмотр прав доступа к объектам. Для платформы Windows возможно указание доменной учетной записи в формате userid@domain.
Опции команды также доступны не для всех объектов менеджера очередей. В таблице 5.3. указано соответствие между опциями и объектами.
| Authority | Queue | Process | Queue manager | Namelist | Authentication information |
|---|---|---|---|---|---|
all |
+ | + | + | + | + |
alladm |
+ | + | + | + | + |
allmqi |
+ | + | + | + | + |
altusr |
- | - | + | - | - |
browse |
+ | - | - | - | - |
chg |
+ | + | + | + | + |
clr |
+ | - | - | - | - |
connect |
- | - | + | - | - |
crt |
+ | + | + | + | + |
|
+ | + | + | + | + |
dsp |
+ | + | + | + | + |
get |
+ | - | - | - | - |
inq |
+ | + | + | + | + |
put |
+ | - | - | - | - |
set |
+ | + | + | - | + |
Рассмотрим некоторые примеры применения команды к объектам менеджера QM_Win2000 для учетной записи test1. В скобках дана соответствующая команда из рассмотренных выше примеров.
C:\>dspmqaut -m QM_Win2000 -t q -n A -p test1 Entity test1 has the following authorizations for object A: (К данному объекту учетная запись test1 не имеет авторизации, так как не было соответствующей команды setmqaut)
C:\>dspmqaut -m QM_Win2000 -t q
-n Win2000_HPUX.Q -p test1
Entity test1 has the following authorizations
for object Win2000_HPUX.Q:
browse
(setmqaut -m QM_Win2000 -n Win2000_HPUX.?
-t queue -p test1 +browse)
C:\>dspmqaut -m QM_Win2000 -t q
-n Win2000_HPUX.TQ -p test1
Entity test1 has the following authorizations
for object Win2000_HPUX.TQ:
dlt
dsp
(setmqaut -m QM_Win2000 -n Win2000_HPUX.?Q
-t queue -p test1 +dlt +dsp)
C:\>dspmqaut -m QM_Win2000 -t q
-n Win2000_HPUX.RQ -p test1
Entity test1 has the following authorizations
for object Win2000_HPUX.RQ:
dlt
dsp
(setmqaut -m QM_Win2000 -n Win2000_HPUX.?Q
-t queue -p test1 +dlt +dsp)
C:\>dspmqaut -m QM_Win2000 -t q -n A1 -p test1
Entity test1 has the following authorizations
for object A1:
get
browse
inq
set
dlt
chg
dsp
passid
passall
setid
setall
clr
(setmqaut -m QM_Win2000 -n A1 -t queue
-p test1 +all
setmqaut -m QM_Win2000 -n A1 -t queue
-p test1 -put )
C:\>dspmqaut -m QM_Win2000 -t q -n A2
-p test1
Entity test1 has the following authorizations
for object A2:
get
browse
put
inq
set
dlt
chg
dsp
passid
passall
setid
setall
clr
(setmqaut -m QM_Win2000 -n ?2 -t queue
-p test1 +all)
C:\>dspmqaut -m QM_Win2000 -t q -n HPUX.CQ
-p test1
Entity test1 has the following authorizations
for object HPUX.CQ:
get
browse
put
inq
set
dlt
chg
dsp
passid
passall
setid
setall
clr
(setmqaut -m QM_Win2000 -n **.CQ -t queue
-p test1 +all)
C:\>dspmqaut -m QM_Win2000 -t q -n NOTEPAD.Q
-p test1
Entity test1 has the following authorizations
for object NOTEPAD.Q:
get
(setmqaut -m QM_Win2000 -n NO*.Q -t queue
-p test1 +get)
C:\>dspmqaut -m QM_Win2000 -t q
-n WIN2000_HPUX2.TQ -p test1
Entity test1 has the following authorizations
for object WIN2000_HPUX2.TQ:
put
(setmqaut -m QM_Win2000 -n WIN*.* -t queue
-p test1 +put)
C:\>dspmqaut -m QM_Win2000 -t q
-n WIN2000HPUX3.TQ -p test1
Entity test1 has the following authorizations
for object WIN2000HPUX3.TQ:
put
(setmqaut -m QM_Win2000 -n WIN*.* -t queue
-p test1 +put)
C:\>dspmqaut -m QM_Win2000 -t q
-n WIN2000hpux4.tq -p test1
Entity test1 has the following authorizations
for object WIN2000hpux4.tq:
put
(setmqaut -m QM_Win2000 -n WIN*.* -t queue
-p test1 +put)
C:\>dspmqaut -m QM_Win2000 -t q -n Vip2000.CQ
-p test1
Entity test1 has the following authorizations
for object Win2000.CQ:
browse
put
inq
set
dlt
chg
dsp
passid
passall
setid
setall
clr
(setmqaut -m QM_Win2000 -n **.CQ -t queue
-p test1 +all
setmqaut -m QM_Win2000 -n Vip*.* -t queue
-p test1 -get)
C:\>dspmqaut -m QM_Win2000 -t q
-n DEAD_LETTER -p test1
Entity test1 has the following authorizations
for object DEAD_LETTER:
get
browse
put
(setmqaut -m QM_Win2000 -n DEAD_LETTER
-t queue -p test1 +put
+browse +get )
Отметим, что к выполнению команды , содержащей символы групповой замены следует относиться с осторожностью и всегда проверять результат выполнения командой .
WebSphere MQ в своей работе оперирует как своими внутренними данными, так и данными на уровне операционных систем. Так, например, в процессе первичной установки создается mqm. Все пользователи, входящие в эту mqm либо в группу администраторов.
В среде Windows часто встречается случай, когда прикладная программа должна выполняться под нужной учетной записью (пользователем). В процессе установки WebSphere MQ на платформе Windows кроме mqm создается пользователь с учетной записью под именем которого выполняются все процессы и все прикладные программы, указанные в атрибуте Application Identifier соответствующего процесса. Если удалить и создать вновь данную учетную запись, то WebSphere MQ работать не будет. Рассмотрим процедуру, позволяющую запускать сервис IBM
mquser@alfa.moscow.net для параметров:Далее можно создавать службы сервиса WebSphere MQ , синтаксис которой имеет вид:
где:
QmgrName - имя менеджера очередей,
InitQueue - имя очереди инициализации
После выполнения данной команды следует убедиться в появлении в
Управлять объектами удаленного менеджера можно с помощью . Для удаленного управления менеджером очередей необходимо:
runmqsc -w TimeOut RemoteQmqrName где:TimeOut - время в секундах, в течение которого от удаленного менеджера должен прийти положительный ответ на подключение. Если время истекло, то появится следующее сообщениеAMQ8416: MQSC timed out waiting for a response from the command server.
RemoteQmqrName - имя удаленного менеджера.Далее с помощью команд MQSC можно управлять объектами удаленного менеджера.
Как говорилось в предыдущих лекциях, управлять объектами WebSphere MQ можно как с помощью команд, так и с помощью
| Команда | Назначение |
|---|---|
amqmcert |
Управление сертификатами для использования механизма SSL |
|
Создание |
crtmqcvx |
Конвертация С кода в структуру WebSphere MQ |
|
Создание локального менеджера очередей |
dltmqm |
Удаление локального менеджера очередей |
dmpmqaut |
Удаление (dump) авторизации к объекту |
dmpmqlog |
Преобразование лог-файлов менеджера в "читаемый" вид |
dspmq |
Просмотр состояния менеджера очередей |
|
Просмотр прав доступа к объектам |
dspmqcap |
Просмотр количества процессоров |
dspmqcsv |
Просмотр состояния командного сервера |
dspmqfls |
Вывод файловой структуры объектов |
dspmqtrc |
Вывод трассировки в файл (только для HP-UX, Linux, и Solaris) |
dspmqtrn |
Просмотр незавершенных транзакций |
endmqcsv |
Остановка командного сервера |
endmqlsr |
Остановка службы listener |
|
Остановка менеджера |
endmqtrc |
Остановка режима трассировки (кроме AIX платформы) |
rcdmqimg |
Запись состояния объектов в файл |
|
Восстановление состояния объектов из файла |
rsvmqtrn |
Управление незавершенными транзакциями |
|
Запуск службы |
runmqchl |
Старт sender или requester каналов |
|
Восстановление сообщений из |
runmqlsr |
Запуск службы listener |
|
Запуск командного процессора внутренних команд MQSC |
runmqtmc |
Запуск для клиентской части (только для AIX платформы) |
|
Запуск |
|
Предоставление прав доступа к объектам |
setmqcap |
Установка количества процессоров |
strmqcsv |
Запуск командного сервера |
|
Запуск менеджера очередей |
strmqtrc |
Запуск режима трассировки |
Из таблицы 5.4 выделим команду , которая является своего рода командным процессором для выполнения
где:
-e - исключение вывода результата выполнения команд в отчет. Полезно для использования при вводе команд в интерактивном режиме.
-v - проверка синтаксиса команд без их выполнения. Если далее указана опция -w, то она игнорируется.
-w - время в секундах, в течение которого от удаленного менеджера должен прийти положительный ответ на подключение. С помощью данной опции возможно управление объектами удаленного менеджера. Если время истекло, то появится следующее сообщение:
AMQ8416: MQSC timed out waiting for a response from the command server.
QmgrName - имя менеджера очередей. Имя менеджера, являющегося менеджером по умолчанию указывать не обязательно.
Кроме непосредственного ввода
где:
create_obj.txt - файл, содержащий
CHANNEL - канал;CHSTATUS - состояние канала;CLUSQMGR - информация о кластерных каналах менеджера;PROCESS - процесс;NAMELIST - список кластеров;QALIAS - очередь ALIAS ;QCLUSTER - QLOCAL - локальная очередь;QMGR - менеджер;QMODEL - QREMOTE - локальная удаленная очередь.Основные операторы, которые, как правило, стоят на первом месте
ALTER - изменение свойств объекта; CLEAR - удаление сообщений из очереди; DEFINE - создание объекта; DELETE - удаление объекта; DISPLAY - вывод информации об объекте; END - выход из командного процессора runmqsc ; PING - проверка соединения; REFRESH - обновление информации; RESET -RESET CLUSTER - выводит менеджер очередей из кластера WebSphere MQ;RESET CHANNEL - сбрасывает счетчики сообщений у канала; RESOLVE - управление RESUME - оповещение кластера WebSphere MQ о том, что менеджер очередей снова включен в данный кластер; START - оператор старта; STOP - оператор останова; SUSPEND - временное исключение менеджера из кластера WebSphere MQ;Подробный синтаксис команд можно узнать из документации .
Пример создания интерфейсов передачи данных в обе стороны между двумя менеджерами QM_Win2000 и QM_HPUX с адресами 198.32.100.26 и 198.32.100.16(1421), причем на менеджере QM_HPUX канал отправитель должен переходить в состояние running как только в соответствующей
HPUX_Win2000.Q - локальная очередь, в которую будут приходить сообщения от менеджера QM_HPUX;HPUX_Win2000.CH - канал получатель;Win2000_HPUX.TQ - трансмиссионная очередь передачи;Win2000_HPUX.RQ - локальная удаленная очередь;Win2000_HPUX.CH - канал отправитель.При создании объектов с помощью команды следует учитывать, что если имя объекта не "берется" в символы " ' ", то объект будет создан с именем, содержащим только заглавные буквы. То же относится и к другим командам.
Набор команд для создания объектов выглядит следующим образом.
DEFINE QLOCAL ('HPUX_Win2000.Q')
DEFINE CHANNEL ('HPUX_Win2000.CH')
CHLTYPE(RCVR)
DEFINE QLOCAL ('Win2000_HPUX.TQ')
USAGE(XMITQ)
DEFINE QREMOTE ('Win2000_HPUX.RQ')
XMITQ('Win2000_HPUX.TQ') +
RNAME('Win2000_HPUX.Q')
RQMNAME('QM_HPUX')
DEFINE CHANNEL ('Win2000_HPUX.CH')
CHLTYPE(SDR) +
CONNAME('198.32.100.16(1421)')
DISCINT(999999) +
XMITQ('Win2000_HPUX.TQ')
Создадим объекты на менеджере QM_HPUX:
Win2000_HPUX.Q - локальная очередь, в которую будут приходить сообщения от менеджера QM_Win2000;Win2000_HPUX.CH - канал получатель;HPUX _Win2000.TQ - трансмиссионная очередь передачи;HPUX _Win2000.RQ - локальная удаленная очередь;HPUX _Win2000.CH - канал отправитель.Команды для создания этих объектов будут выглядеть следующим образом.
DEFINE QLOCAL ('Win2000_HPUX.Q')
DEFINE CHANNEL ('Win2000_HPUX.CH')
CHLTYPE(RCVR)
DEFINE QREMOTE ('HPUX_Win2000.RQ') +
XMITQ('HPUX_Win2000.TQ') +
RNAME('HPUX_Win2000.Q') +
RQMNAME('QM_Win2000')
DEFINE QLOCAL ('HPUX_Win2000.TQ') +
USAGE(XMITQ) +
TRIGGER +
TRIGTYPE(FIRST) +
TRIGDPTH(1) +
TRIGDATA('HPUX_Win2000.CH') +
INITQ('SYSTEM.CHANNEL.INITQ')
DEFINE CHANNEL ('HPUX_Win2000.CH')
CHLTYPE(SDR) +
CONNAME('172.25.4.150') +
DISCINT(999999) +
XMITQ('HPUX_Win2000.TQ')
Эти команды можно поместить в два текстовых файла, а затем, выполнив команду на каждом менеджере с указанием соответствующего файла, можно получить готовый интерфейс для передачи данных между двумя платформами: UNIX и Windows. Кроме этого, используя команды рестарта каналов, можно управлять их состоянием.
В предыдущей лекции были рассмотрены примеры создания интерфейсов передачи данных без учета вопросов авторизации и доступа. WebSphere MQ имеет свой механизм предоставления прав доступа и аутентификации пользователя . Ограничения по доступу могут быть на уровне удаленного управления менеджером очередей и на уровне доступа к определенным объектам.
setmqaut -m QMgrName -n Profile -t ObjectType
-s ServiceComponent -remove
-p PrincipalName [-g GroupName]
MQI authorizations [Administration
authorizations] [Generic authorizations]
-m QmgrName - имя менеджера очередей.
?, *, ** ). Например, если необходимо произвести авторизацию ко всем очередям, начинающимся на PAY, то опция Profile будет выглядеть
-n PAY*
-t ObjectType - тип объекта менеджера. Может иметь значения q или queue для очередей, или process для процессов, nl или namelist для списков кластеров, authinfo для использования механизма SSL.
-s ServiceComponent - имя установленного сервиса авторизации, с помощью которого будут произведены изменения прав доступа. Параметр не является обязательным.
-remove - лишает прав доступа к объектам, указанным перед ним.
-p PrincipalName или -g GroupName - имя пользователя или группы, для которой производится изменение прав доступа к объектам. Для платформы Windows возможно указание доменной учетной записи в формате userid@domain.
Рассмотрим опции авторизации: , Administration authorizations и Generic authorizations. Перед данными опциями должны указываться символы " + " или " - ", разрешающие или запрещающие соответствующие действия.
- опции команды для авторизации . Может принимать значения:
altusr - дает возможность использовать имя другой учетной записи для функций MQOPEN и MQPUT1 ;browse - разрешает просмотр сообщений в очереди функцией MQGET , если очередь открыта на просмотр с опцией BROWSE ;connect - разрешает подключение к менеджеру очередей;get - разрешает считывание сообщение из очереди;inq - разрешает считывание значения put - разрешает помещать сообщения в очередь;set - разрешает изменять Administration authorizations - опции команды для авторизации на выполнение действий. Может принимать значения:
chg - изменение атрибутов объекта;clr - удаление сообщений из очереди (доступно только для PCF команд);crt - создание объектов;dsp - просмотр атрибутов объектаGeneric authorizations - опции авторизации для групповых операций. Может принимать значения:
all - предоставляет все права на объект;alladm - предоставляет все административные права на объект;allmqi - предоставляет возможность none - создает в своем механизме аутентификации запись для профиля пользователя не предоставляя ему никаких прав;Опции команды применяются не ко всем объектам менеджера очередей. В таблице 5.1. указано соответствие между опциями и объектами.
| Authority | Queue | Process | Queue manager | Namelist | Authentication information |
|---|---|---|---|---|---|
all |
+ | + | + | + | + |
alladm |
+ | + | + | + | + |
allmqi |
+ | + | + | + | + |
none |
+ | + | + | + | + |
altusr |
- | - | + | - | - |
browse |
+ | - | - | - | - |
chg |
+ | + | + | + | + |
clr |
+ | - | - | - | - |
connect |
- | - | + | - | - |
crt |
+ | + | + | + | + |
|
+ | + | + | + | + |
dsp |
+ | + | + | + | + |
get |
+ | - | - | - | - |
put |
+ | - | - | - | - |
inq |
+ | + | + | + | + |
set |
+ | - | - | - | - |
Синтаксис команды имеет несколько особенностей. Если в названии объекта присутствует символ " ?, .", то каждая часть имени, разделенная точкой должна использовать свои символы групповой замены. Рассмотрим примеры применения команды к объектам менеджера QM_Win2000 для учетной записи (пользователя) test1. Условиями выполнения команды является наличие учетной записи test1 и указанных в примерах очередей.
setmqaut -m QM_Win2000 -t qmgr
-p test1 +connect
MQGET , во всех очередях, начинающихся на Win2000_HPUX. и заканчивающихся на любой допустимый символ, если очередь открыта на просмотр с опцией BROWSEsetmqaut -m QM_Win2000 -n Win2000_HPUX.?
-t queue -p test1 +browse
setmqaut -m QM_Win2000 -n Vip*.* -t queue
-p test1 -get
Win2000_HPUX. и имеющим после точки два символа, причем левый символ может быть любымsetmqaut -m QM_Win2000 -n Win2000_HPUX.?Q
-t queue -p test1 +dlt +dsp
A1setmqaut -m QM_Win2000 -n A1 -t queue
-p test1 +all
setmqaut -m QM_Win2000 -n ?2 -t queue
-p test1 +all
setmqaut -m QM_Win2000 -n **.CQ -t queue
-p test1 +all
Qsetmqaut -m QM_Win2000 -n NO*.Q -t queue
-p test1 +get
DEAD_LETTERsetmqaut -m QM_Win2000 -n DEAD_LETTER
-t queue -p test1 +put +browse +get
A1setmqaut -m QM_Win2000 -n A1 -t queue
-p test1 -put
С помощью команды нельзя предоставлять доступ к объектам кластера, которые физически расположены на удаленных менеджерах.
Коды возврата команды указаны в таблице 5.2.
| 0 | Successful operation | Ошибок нет |
| 36 | Invalid arguments supplied | Содержится неправильный аргумент |
| 40 | Queue manager not available | Менеджер очередей недоступен |
| 49 | Queue manager stopping | Менеджер очередей остановлен |
| 69 | Storage not available | Невозможно сохранить изменения |
| 71 | Unexpected error | Непредвиденная ошибка |
| 72 | Queue manager name error | Ошибка в имени менеджера |
| 133 | Unknown object name | Неизвестное имя объекта |
| 145 | Unexpected object name | Непредвиденное имя объекта |
| 146 | Object name missing | Отсутствует имя объекта |
| 147 | Отсутствует тип объекта | |
| 148 | Invalid |
Неправильный тип объекта |
| 149 | Entity name missing | Отсутствует имя объекта |
| 150 | Authorization specification missing | Отсутствует опция авторизации |
| 151 | Invalid authorization specification | Неправильная опция авторизации |
Просмотреть права учетной записи (пользователя) к объекту на локальном менеджере можно с помощью команды . Синтаксис команды
dspmqaut -m QMgrName -n ObjectName
-t ObjectType -s ServiceComponent
-p PrincipalName [-g GroupName]
-m QmgrName - имя менеджера очередей.
-n ObjectName - имя объекта менеджера, к которому применяется команда.
-t ObjectType - тип объекта менеджера. Может иметь значения q или queue для очередей, или process для процессов, nl или namelist для списков кластеров, authinfo для использования механизма SSL.
-s ServiceComponent - имя установленного сервиса авторизации, с помощью которого будет произведен просмотр прав доступа. Параметр не является обязательным.
-p PrincipalName или -g GroupName - имя пользователя или группы, для которой производится просмотр прав доступа к объектам. Для платформы Windows возможно указание доменной учетной записи в формате userid@domain.
Опции команды также доступны не для всех объектов менеджера очередей. В таблице 5.3. указано соответствие между опциями и объектами.
| Authority | Queue | Process | Queue manager | Namelist | Authentication information |
|---|---|---|---|---|---|
all |
+ | + | + | + | + |
alladm |
+ | + | + | + | + |
allmqi |
+ | + | + | + | + |
altusr |
- | - | + | - | - |
browse |
+ | - | - | - | - |
chg |
+ | + | + | + | + |
clr |
+ | - | - | - | - |
connect |
- | - | + | - | - |
crt |
+ | + | + | + | + |
|
+ | + | + | + | + |
dsp |
+ | + | + | + | + |
get |
+ | - | - | - | - |
inq |
+ | + | + | + | + |
put |
+ | - | - | - | - |
set |
+ | + | + | - | + |
Рассмотрим некоторые примеры применения команды к объектам менеджера QM_Win2000 для учетной записи test1. В скобках дана соответствующая команда из рассмотренных выше примеров.
C:\>dspmqaut -m QM_Win2000 -t q -n A -p test1 Entity test1 has the following authorizations for object A: (К данному объекту учетная запись test1 не имеет авторизации, так как не было соответствующей команды setmqaut)
C:\>dspmqaut -m QM_Win2000 -t q
-n Win2000_HPUX.Q -p test1
Entity test1 has the following authorizations
for object Win2000_HPUX.Q:
browse
(setmqaut -m QM_Win2000 -n Win2000_HPUX.?
-t queue -p test1 +browse)
C:\>dspmqaut -m QM_Win2000 -t q
-n Win2000_HPUX.TQ -p test1
Entity test1 has the following authorizations
for object Win2000_HPUX.TQ:
dlt
dsp
(setmqaut -m QM_Win2000 -n Win2000_HPUX.?Q
-t queue -p test1 +dlt +dsp)
C:\>dspmqaut -m QM_Win2000 -t q
-n Win2000_HPUX.RQ -p test1
Entity test1 has the following authorizations
for object Win2000_HPUX.RQ:
dlt
dsp
(setmqaut -m QM_Win2000 -n Win2000_HPUX.?Q
-t queue -p test1 +dlt +dsp)
C:\>dspmqaut -m QM_Win2000 -t q -n A1 -p test1
Entity test1 has the following authorizations
for object A1:
get
browse
inq
set
dlt
chg
dsp
passid
passall
setid
setall
clr
(setmqaut -m QM_Win2000 -n A1 -t queue
-p test1 +all
setmqaut -m QM_Win2000 -n A1 -t queue
-p test1 -put )
C:\>dspmqaut -m QM_Win2000 -t q -n A2
-p test1
Entity test1 has the following authorizations
for object A2:
get
browse
put
inq
set
dlt
chg
dsp
passid
passall
setid
setall
clr
(setmqaut -m QM_Win2000 -n ?2 -t queue
-p test1 +all)
C:\>dspmqaut -m QM_Win2000 -t q -n HPUX.CQ
-p test1
Entity test1 has the following authorizations
for object HPUX.CQ:
get
browse
put
inq
set
dlt
chg
dsp
passid
passall
setid
setall
clr
(setmqaut -m QM_Win2000 -n **.CQ -t queue
-p test1 +all)
C:\>dspmqaut -m QM_Win2000 -t q -n NOTEPAD.Q
-p test1
Entity test1 has the following authorizations
for object NOTEPAD.Q:
get
(setmqaut -m QM_Win2000 -n NO*.Q -t queue
-p test1 +get)
C:\>dspmqaut -m QM_Win2000 -t q
-n WIN2000_HPUX2.TQ -p test1
Entity test1 has the following authorizations
for object WIN2000_HPUX2.TQ:
put
(setmqaut -m QM_Win2000 -n WIN*.* -t queue
-p test1 +put)
C:\>dspmqaut -m QM_Win2000 -t q
-n WIN2000HPUX3.TQ -p test1
Entity test1 has the following authorizations
for object WIN2000HPUX3.TQ:
put
(setmqaut -m QM_Win2000 -n WIN*.* -t queue
-p test1 +put)
C:\>dspmqaut -m QM_Win2000 -t q
-n WIN2000hpux4.tq -p test1
Entity test1 has the following authorizations
for object WIN2000hpux4.tq:
put
(setmqaut -m QM_Win2000 -n WIN*.* -t queue
-p test1 +put)
C:\>dspmqaut -m QM_Win2000 -t q -n Vip2000.CQ
-p test1
Entity test1 has the following authorizations
for object Win2000.CQ:
browse
put
inq
set
dlt
chg
dsp
passid
passall
setid
setall
clr
(setmqaut -m QM_Win2000 -n **.CQ -t queue
-p test1 +all
setmqaut -m QM_Win2000 -n Vip*.* -t queue
-p test1 -get)
C:\>dspmqaut -m QM_Win2000 -t q
-n DEAD_LETTER -p test1
Entity test1 has the following authorizations
for object DEAD_LETTER:
get
browse
put
(setmqaut -m QM_Win2000 -n DEAD_LETTER
-t queue -p test1 +put
+browse +get )
Отметим, что к выполнению команды , содержащей символы групповой замены следует относиться с осторожностью и всегда проверять результат выполнения командой .
WebSphere MQ в своей работе оперирует как своими внутренними данными, так и данными на уровне операционных систем. Так, например, в процессе первичной установки создается mqm. Все пользователи, входящие в эту mqm либо в группу администраторов.
В среде Windows часто встречается случай, когда прикладная программа должна выполняться под нужной учетной записью (пользователем). В процессе установки WebSphere MQ на платформе Windows кроме mqm создается пользователь с учетной записью под именем которого выполняются все процессы и все прикладные программы, указанные в атрибуте Application Identifier соответствующего процесса. Если удалить и создать вновь данную учетную запись, то WebSphere MQ работать не будет. Рассмотрим процедуру, позволяющую запускать сервис IBM
mquser@alfa.moscow.net для параметров:Далее можно создавать службы сервиса WebSphere MQ , синтаксис которой имеет вид:
где:
QmgrName - имя менеджера очередей,
InitQueue - имя очереди инициализации
После выполнения данной команды следует убедиться в появлении в
Управлять объектами удаленного менеджера можно с помощью . Для удаленного управления менеджером очередей необходимо:
runmqsc -w TimeOut RemoteQmqrName где:TimeOut - время в секундах, в течение которого от удаленного менеджера должен прийти положительный ответ на подключение. Если время истекло, то появится следующее сообщениеAMQ8416: MQSC timed out waiting for a response from the command server.
RemoteQmqrName - имя удаленного менеджера.Далее с помощью команд MQSC можно управлять объектами удаленного менеджера.
Как говорилось в предыдущих лекциях, управлять объектами WebSphere MQ можно как с помощью команд, так и с помощью
| Команда | Назначение |
|---|---|
amqmcert |
Управление сертификатами для использования механизма SSL |
|
Создание |
crtmqcvx |
Конвертация С кода в структуру WebSphere MQ |
|
Создание локального менеджера очередей |
dltmqm |
Удаление локального менеджера очередей |
dmpmqaut |
Удаление (dump) авторизации к объекту |
dmpmqlog |
Преобразование лог-файлов менеджера в "читаемый" вид |
dspmq |
Просмотр состояния менеджера очередей |
|
Просмотр прав доступа к объектам |
dspmqcap |
Просмотр количества процессоров |
dspmqcsv |
Просмотр состояния командного сервера |
dspmqfls |
Вывод файловой структуры объектов |
dspmqtrc |
Вывод трассировки в файл (только для HP-UX, Linux, и Solaris) |
dspmqtrn |
Просмотр незавершенных транзакций |
endmqcsv |
Остановка командного сервера |
endmqlsr |
Остановка службы listener |
|
Остановка менеджера |
endmqtrc |
Остановка режима трассировки (кроме AIX платформы) |
rcdmqimg |
Запись состояния объектов в файл |
|
Восстановление состояния объектов из файла |
rsvmqtrn |
Управление незавершенными транзакциями |
|
Запуск службы |
runmqchl |
Старт sender или requester каналов |
|
Восстановление сообщений из |
runmqlsr |
Запуск службы listener |
|
Запуск командного процессора внутренних команд MQSC |
runmqtmc |
Запуск для клиентской части (только для AIX платформы) |
|
Запуск |
|
Предоставление прав доступа к объектам |
setmqcap |
Установка количества процессоров |
strmqcsv |
Запуск командного сервера |
|
Запуск менеджера очередей |
strmqtrc |
Запуск режима трассировки |
Из таблицы 5.4 выделим команду , которая является своего рода командным процессором для выполнения
где:
-e - исключение вывода результата выполнения команд в отчет. Полезно для использования при вводе команд в интерактивном режиме.
-v - проверка синтаксиса команд без их выполнения. Если далее указана опция -w, то она игнорируется.
-w - время в секундах, в течение которого от удаленного менеджера должен прийти положительный ответ на подключение. С помощью данной опции возможно управление объектами удаленного менеджера. Если время истекло, то появится следующее сообщение:
AMQ8416: MQSC timed out waiting for a response from the command server.
QmgrName - имя менеджера очередей. Имя менеджера, являющегося менеджером по умолчанию указывать не обязательно.
Кроме непосредственного ввода
где:
create_obj.txt - файл, содержащий
CHANNEL - канал;CHSTATUS - состояние канала;CLUSQMGR - информация о кластерных каналах менеджера;PROCESS - процесс;NAMELIST - список кластеров;QALIAS - очередь ALIAS ;QCLUSTER - QLOCAL - локальная очередь;QMGR - менеджер;QMODEL - QREMOTE - локальная удаленная очередь.Основные операторы, которые, как правило, стоят на первом месте
ALTER - изменение свойств объекта; CLEAR - удаление сообщений из очереди; DEFINE - создание объекта; DELETE - удаление объекта; DISPLAY - вывод информации об объекте; END - выход из командного процессора runmqsc ; PING - проверка соединения; REFRESH - обновление информации; RESET -RESET CLUSTER - выводит менеджер очередей из кластера WebSphere MQ;RESET CHANNEL - сбрасывает счетчики сообщений у канала; RESOLVE - управление RESUME - оповещение кластера WebSphere MQ о том, что менеджер очередей снова включен в данный кластер; START - оператор старта; STOP - оператор останова; SUSPEND - временное исключение менеджера из кластера WebSphere MQ;Подробный синтаксис команд можно узнать из документации .
Пример создания интерфейсов передачи данных в обе стороны между двумя менеджерами QM_Win2000 и QM_HPUX с адресами 198.32.100.26 и 198.32.100.16(1421), причем на менеджере QM_HPUX канал отправитель должен переходить в состояние running как только в соответствующей
HPUX_Win2000.Q - локальная очередь, в которую будут приходить сообщения от менеджера QM_HPUX;HPUX_Win2000.CH - канал получатель;Win2000_HPUX.TQ - трансмиссионная очередь передачи;Win2000_HPUX.RQ - локальная удаленная очередь;Win2000_HPUX.CH - канал отправитель.При создании объектов с помощью команды следует учитывать, что если имя объекта не "берется" в символы " ' ", то объект будет создан с именем, содержащим только заглавные буквы. То же относится и к другим командам.
Набор команд для создания объектов выглядит следующим образом.
DEFINE QLOCAL ('HPUX_Win2000.Q')
DEFINE CHANNEL ('HPUX_Win2000.CH')
CHLTYPE(RCVR)
DEFINE QLOCAL ('Win2000_HPUX.TQ')
USAGE(XMITQ)
DEFINE QREMOTE ('Win2000_HPUX.RQ')
XMITQ('Win2000_HPUX.TQ') +
RNAME('Win2000_HPUX.Q')
RQMNAME('QM_HPUX')
DEFINE CHANNEL ('Win2000_HPUX.CH')
CHLTYPE(SDR) +
CONNAME('198.32.100.16(1421)')
DISCINT(999999) +
XMITQ('Win2000_HPUX.TQ')
Создадим объекты на менеджере QM_HPUX:
Win2000_HPUX.Q - локальная очередь, в которую будут приходить сообщения от менеджера QM_Win2000;Win2000_HPUX.CH - канал получатель;HPUX _Win2000.TQ - трансмиссионная очередь передачи;HPUX _Win2000.RQ - локальная удаленная очередь;HPUX _Win2000.CH - канал отправитель.Команды для создания этих объектов будут выглядеть следующим образом.
DEFINE QLOCAL ('Win2000_HPUX.Q')
DEFINE CHANNEL ('Win2000_HPUX.CH')
CHLTYPE(RCVR)
DEFINE QREMOTE ('HPUX_Win2000.RQ') +
XMITQ('HPUX_Win2000.TQ') +
RNAME('HPUX_Win2000.Q') +
RQMNAME('QM_Win2000')
DEFINE QLOCAL ('HPUX_Win2000.TQ') +
USAGE(XMITQ) +
TRIGGER +
TRIGTYPE(FIRST) +
TRIGDPTH(1) +
TRIGDATA('HPUX_Win2000.CH') +
INITQ('SYSTEM.CHANNEL.INITQ')
DEFINE CHANNEL ('HPUX_Win2000.CH')
CHLTYPE(SDR) +
CONNAME('172.25.4.150') +
DISCINT(999999) +
XMITQ('HPUX_Win2000.TQ')
Эти команды можно поместить в два текстовых файла, а затем, выполнив команду на каждом менеджере с указанием соответствующего файла, можно получить готовый интерфейс для передачи данных между двумя платформами: UNIX и Windows. Кроме этого, используя команды рестарта каналов, можно управлять их состоянием.
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.