2012-02-02 111 views
6

我需要爲WebSphere MQ隊列編寫一個.Net連接器,因此我在Windows 7機器上安裝了IBM WebSphere MQ的試用版。我最初在MQ Explorer中設置了一些虛擬隊列來與安裝過程一起玩,並且我能夠連接到這些隊列管理器並創建隊列。我刪除這些虛擬隊列和跟隨第一組指令from Lesson 1.1 from IBM here,我創建了一些隊列命令行可以創建Websphere隊列管理器但不能連接

我因爲安全問題未能to run Lesson 1.2,我現在無法連接到MQ資源管理器中的任何隊列管理器。當我嘗試連接我得到錯誤信息

An unexpected error (2063) has occurred. (AMQ4999) 
  • 我是本地管理員在我的機器上。
  • 我已經添加了自己
  • 我既沒有運行MQ Explorer中的「以管理員身份運行」選項
  • 我已卸載MQ並重新安裝了它
  • 所創建的mqm組
  • 我已經重新啓動幾次

我也注意到,當我在MQ資源管理器創建隊列管理,最後一部分失敗,AMQ8135:未授權。(看下面的輸出)

有什麼明顯的我失蹤了嗎?

有一些辦法,我可以找出是什麼問題,我自己 - 日誌文件似乎並沒有給我任何想法去哪裏找


**************************************** 
* Command: "C:\Program Files (x86)\IBM\WebSphere MQ\bin\crtmqm" -sa QM1 
**************************************** 
There are 90 days left in the trial period for this copy of WebSphere MQ. 
WebSphere MQ queue manager created. 
Directory 'C:\Program Files (x86)\IBM\WebSphere MQ\qmgrs\QM1' created. 
The queue manager is associated with installation 'Installation2'. 
Creating or replacing default objects for queue manager 'QM1'. 
Default objects statistics : 74 created. 0 replaced. 0 failed. 
Completing setup. 
Setup completed. 
exitvalue = 0 
**************************************** 
* Command: "C:\Program Files (x86)\IBM\WebSphere MQ\bin\strmqm" QM1 
**************************************** 
There are 90 days left in the trial period for this copy of WebSphere MQ. 
WebSphere MQ queue manager 'QM1' starting. 
The queue manager is associated with installation 'Installation2'. 
5 log records accessed on queue manager 'QM1' during the log replay phase. 
Log replay for queue manager 'QM1' complete. 
Transaction manager state recovered for queue manager 'QM1'. 
WebSphere MQ queue manager 'QM1' started using V7.1.0.0. 
exitvalue = 0 
**************************************** 
* Command: "C:\Program Files (x86)\IBM\WebSphere MQ\bin\runmqsc" QM1 
* Input: DEFINE LISTENER('LISTENER.TCP') TRPTYPE(TCP) PORT(1414) CONTROL(QMGR) 
**************************************** 
5724-H72 (C) Copyright IBM Corp. 1994, 2011. ALL RIGHTS RESERVED. 
Starting MQSC for queue manager QM1. 
AMQ8135: Not authorized. 
No MQSC commands read. 
No commands have a syntax error. 
All valid MQSC commands were processed. 
exitvalue = 20 

回答

14

如果您有最近的WMQ試用版,那麼您正在使用v7.1 QMgr。從v7.1開始,WMQ將只允許非特權遠程連接。爲了連接管理員帳戶,需要禁用限制,或者更好的是爲管理連接定義一個新通道並對其進行身份驗證。

對於Windows,最大的問題是WMQ驗證域ID並且必須查找它們的組。在企業環境中運行WMQ時,一個非常常見的問題是它試圖查找一個ID或組,並且沒有這樣的域權限。 域帳戶(即使是具有本地管理員權限的帳戶)往往會因爲無法訪問域SAM中的查詢來進行組查找而失敗。 Infocenter here中有一整段描述了對Windows帳戶的要求。

對於此開發環境的一種解決方法是是創建本地管理員的帳戶,然後登錄並創建QMgr。或者確保默認帳戶MUSR_MQADMIN擁有本地管理權限和登錄權限。再次,您必須實際登錄帳戶才能完成此項工作,因爲這樣從來沒有要求在Active Directory中查找帳戶,因爲它全部遇到本地SAM數據庫。再次,這只是爲了發展!在製作中,您希望使用真實的域帳戶,併爲其授予正確的訪問權限,以執行SAM查找,但不會使其成爲本地管理員,如上面鏈接的信息中心部分所述。

假設您已經成功地創造了QMGR,接下來創建一個新的渠道,並授權其使用管理員帳戶來接受您的當地連接:

runmqsc 
* Define the channel, anyone connecting runs as MUSR_MQADMIN 
DEFINE CHL('DOTNET.SVRCONN') CHLTYPE(SVRCONN) MCAUSER('[email protected]') 

* Override default block-list - channel now allows ANYBODY 
SET CHLAUTH('DOTNET.SVRCONN') TYPE(BLOCKUSER) USERLIST('nobody') 

* Block access from ALL IP addresses 
SET CHLAUTH('DOTNET.SVRCONN') TYPE(ADDRESSMAP) ADDRESS('*') USERSRC(NOACCESS) WARN(NO) ACTION(ADD) 

* Allow access from local host only 
SET CHLAUTH('DOTNET.SVRCONN') TYPE(ADDRESSMAP) ADDRESS('127.0.0.1') USERSRC(CHANNEL) ACTION(ADD) 

END 

現在你必須將接受當地一個通道僅將連接映射到管理帳戶,然後覆蓋防止管理帳戶遠程連接的安全性。使用管理員帳戶意味着不需要隊列或QMgr授權,並且該帳戶是本地管理員,這意味着不存在域查詢問題。 MCAUSER('MUSR_MQADMIN)將每個遠程ID轉換爲本地管理員ID,以便WMQ不需要查找遠程ID。映射規則僅限制與本地主機的連接。任何可以連接到該頻道的人都可以在本地管理員遠程執行操作系統代碼,因此如果您想接受來自其他用戶的連接,建議使用證書進行身份驗證。

+0

感謝T.Rob - 這是問題與運行服務的非域用戶。 – 2012-02-08 10:24:00

4

您可能需要閱讀本由T.Rob發佈here。還有其他安全相關的帖子,他們是非常有幫助的。

0

我有一個類似的問題。我的辦公室dektop運行的是windows xp 32位,我的項目要求我在本地安裝Websphere MQ 7(WMQ)。 在我的PC上擁有本地管理員權限我能夠在沒有域控制器選項配置的情況下安裝WMQ並添加quemanager,但無法添加任何本地隊列。 檢查錯誤日誌後,我發現我的用戶標識沒有足夠的權限。

因此,解決方法是 - 驗證您的登錄ID是否爲您網域上的管理員組的一部分。 轉到控制 - >用戶帳戶來檢查您的用戶ID。 如果你在你的電腦上有本地管理員權限,那麼你可以添加你的用戶ID作爲管理員組的一部分。 現在刪除以前創建的隊列管理器。 重新啓動WMQ &再次創建queuemanager。 您現在應該看到在新創建的隊列管理器下添加本地隊列,主題等的所有選項。

-1

發生了意外錯誤(2063)。 (AMQ4999)

也可能發生,因爲權限問題的上述錯誤,與組權限檢查,並添加用戶

+0

2063由於權限問題而不會發生,因此2035將發生。 – 2014-09-17 09:49:11

相關問題