首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误2035 (“MQRC_NOT_AUTHORIZED”)从HermesJMS到MQ8

错误2035 (“MQRC_NOT_AUTHORIZED”)从HermesJMS到MQ8
EN

Stack Overflow用户
提问于 2017-08-28 10:37:33
回答 2查看 3.3K关注 0票数 1

我正在使用MQ8服务器访问HermesJms。

后者具有以下配置:

但是,当我试图通过Hermes提供的相关选项“发现”时,我会得到一个2035,其中的消息显示在队列管理器错误日志上:

代码语言:javascript
复制
AMQ9557: Queue Manager User ID initialization failed for 'pkaramol'.

EXPLANATION:
The call to initialize the User ID 'pkaramol' failed with CompCode 2 and Reason
2035.

请注意,在运行Hermes的linux机器中,pkaramol是我的本地操作系统用户。

问题

1)尽管我同时禁用了CHLAUTHCONNAUTH,但为什么会出现以下错误

代码语言:javascript
复制
ALTER QMGR CHLAUTH(DISABLED) CONNAUTH(' ')

REFRESH SECURITY TYPE(CONNAUTH)

2)为什么服务器将pkaramol视为试图访问队列管理器的用户,尽管我在ClientIDuser字段中显式地提供了HermesJMS?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-08-29 23:56:32

我在HermesJMS上找不到很多文档,但是通过一些尝试和错误,我发现如果单击“发现”,它不符合UserPassword设置,它将始终将您登录的用户发送到队列管理器,这就是为什么您没有看到用户mquser。由于您以用户pkaramol的身份运行它,而在运行队列管理器的服务器上不存在该用户pkaramol,因此您将收到以下错误:

代码语言:javascript
复制
AMQ9557: Queue Manager User ID initialization failed for 'pkaramol'.

我还发现,为了执行发现,它使用模型队列SYSTEM.DEFAULT.MODEL.QUEUE打开一个临时动态队列,并将PCF消息放入SYSTEM.ADMIN.COMMAND.QUEUE。此外,为了发现队列中的任何详细信息,您必须至少拥有队列上的+inq+dsp

在您的评论中,您指出您将用户pkaramol添加到服务器并将其放入mqm组中。虽然这是一种使其工作的快速方法,但它确实提供了用户完全的MQ管理访问。您可以向实际用户提供以下权限,并且仍然能够发现队列管理器上的所有对象。请将下面的单词group替换为您的用户在服务器上是成员的组:

代码语言:javascript
复制
setmqaut -m DMSQM -t qmgr -g group +connect +inq +dsp
setmqaut -m DMSQM -n SYSTEM.ADMIN.COMMAND.QUEUE -t queue -g group +inq +put +dsp
setmqaut -m DMSQM -n SYSTEM.DEFAULT.MODEL.QUEUE -t queue -g group +get +dsp
setmqaut -m DMSQM -n '**' -t queue -g group +inq +dsp

我还注意到,一旦通过发现或手动添加队列填充了队列,它将使用您指定的用户。

注意,在禁用了CHLAUTHCONNAUTH之后,队列管理器将接收所呈现的任何用户并使用它。您可以让CONNAUTH启用并指定一个有效的用户和密码,然后MQ将对其进行身份验证。

另一个选项,因为发现不符合用户设置,将是设置一个MCAUSERmquser的SVRCONN通道。

票数 1
EN

Stack Overflow用户

发布于 2017-08-28 15:56:33

您需要授予UserId 'pkaramol‘通过塞考特命令访问队列管理器和队列的权限。

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45917045

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档