Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8350361
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 9, 20262026-06-09T08:17:38+00:00 2026-06-09T08:17:38+00:00

Consider the following queue defintinons: SET AUTHREC OBJTYPE(QMGR) GROUP(‘mq-user’) AUTHADD(INQ,DSP,CONNECT) SET AUTHREC PROFILE(SYSTEM.MQEXPLORER.REPLY.MODEL) OBJTYPE(QUEUE)

  • 0

Consider the following queue defintinons:

SET AUTHREC OBJTYPE(QMGR) GROUP(‘mq-user’) AUTHADD(INQ,DSP,CONNECT)

SET AUTHREC PROFILE(SYSTEM.MQEXPLORER.REPLY.MODEL) OBJTYPE(QUEUE) GROUP(‘mq-user’) AUTHADD(INQ,DSP,GET)

SET AUTHREC PROFILE(SYSTEM.ADMIN.COMMAND.QUEUE) OBJTYPE(QUEUE) GROUP(‘mq-user’) AUTHADD(INQ,DSP,PUT)

DEFINE CHANNEL ($cname) CHLTYPE (SVRCONN) TRPTYPE (TCP) MCAUSER(‘tcs-mq-user’) REPLACE

SET CHLAUTH($cname) TYPE(ADDRESSMAP) ADDRESS(*) MCAUSER(‘tcs-mq-user’)

  1. What is the meaning of MCAUSER in both DEFINE CHANNEL and SETCHLAUTH?
  2. Should tcs-mq-user belong to mq-user group?
  3. Does this mean only tcs-mq-user has access to the queue manager in bindings mode? Now what if I want to give access to another user in the binding mode, should I create another pair of DEFINE CHANNEL and SET CHLAUTH commands for this user?
  4. Is it possible to give the channel access to the mcs-user group?
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-09T08:17:40+00:00Added an answer on June 9, 2026 at 8:17 am

    OK, answers are on sale, buy one get three free today! 🙂 Let’s take these in order…

    1.A. The channel’s MCAUSER value is the ID against which authorization checks are performed. If the DEFINE CHL() CHLTYPE(SVRCONN) leaves MCAUSER blank, then clients connecting can specify the ID that they wish to connect as. If they fail to specify, WMQ client attempts to use the ID of the client user as seen from the workstation where the client app is running and present that. Setting MCAUSER in the channel definition prevents the client app from specifying the value.

    1.B. The MCAUSER in an ADDRESSMAP rule is used to map the MCAUSER based on some identifying criteria. It says “IF a connection arrives on this channel with a specified IP address | User Name | SSL Distinguished Name THEN use this ID as the MCAUSER AND allow the channel to run if no other rules block it.

    The recommendation if a CHLAUTH mapping rule is used is usually to set the channel’s MCAUSER to a value that cannot possibly be a user ID so it will not run. This way the channel defaults to a secure state unless a CHLAUTH rule overrides the MCAUSER to a value intended to allow access. The quintessential value for MCAUSER used to be nobody until Mark Taylor, WMQ Strategist from the Hursley Lab, suggested using a value that can not be an actual user ID, such as no#body. As of WMQ V7.1 the value *NOACCESS is a reserved work and what I’m using in the conference presentations these days.

    2. Yes. WMQ authorizes based on groups. The standard advice is to deconstruct your security requirements into roles like ‘admin’, ‘app1’, ‘app2’, ‘monitoring’, ‘anonymous’, etc. Then for each of these roles that requires access, create a group.

    But access requests come from principals that are uniquely identified, not from groups. The authorization check requires an account to check against so the MCAUSER in the channel is an ID while the authorization rights are stored by group. To associate a user with the correct rights, enroll them in the right group.

    This is standard UNIX authorization model that supports separation of duties. Resource admins (the WMQ administrator) authorize groups. Account admins enroll user IDs in groups. It takes both groups to provide access. In the real world, most shops do not utilize the separation of duties feature but in a significant cases it is mandatory.

    3. Sort of. A default QMgr at V7.1 or higher won’t allow any remote connections at all. This is because when created it has no AUTHREC rules so non-admins are not granted access. Admins are blocked from remote access by the default CHLAUTH rule.

    With the rules specified, anyone can successfully connect to the $cname channel and will be authorized as tcs-mq-user. If you want them to connect as a different user ID with the same privileges then you would need to add that ID to the mq-user group and then set the channel up to map the IDs presented. If you wanted to enforce which ID someone connected as you’d have to specify the mapping by IP address or, better yet, based on their certificate distinguished name.

    4. No. As noted in #2 above, access requests are always made by principals, not by groups. The whole point of CHLAUTH rules, MCAUSER and distinguished name mapping is to resolve the user ID that the channel uses for authorization checks. The channel definition’s MCAUSER is a security control in that ID resolution process and so it operates on the ID and not on the group.

    If you haven’t already found the site, you might find T-Rob.net useful. In particular, on the Links page I have posted all the WMQ Security presentations from the conferences as well as links to my and other authors’ articles.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Consider following scenario: I have RESTful URL /articles that returns list of articles user
Consider following script: SET LANGUAGE 'German' GO SET DATEFIRST 1 GO DECLARE @FullDate DATETIME
please consider the following: I have a queue of objects represented as an array.
Consider following situation: there is ComboBox and a filter TextBox, then user types a
Consider the following sketch for using a loop to empty a queue in Scala:
Consider the following program: import Queue from multiprocessing import Queue as Q from multiprocessing
Consider following make: all: a b a: echo a exit 1 b: echo b
Consider following code: My problem is: 1) I can't seem to cast the errors
Consider following string Some string with quotes and \pre-slashed\ quotes Using regex, I want
Consider following text: $content=<<<EOT { translatorID: f4a5876a-3e53-40e2-9032-d99a30d7a6fc, label: ACL, creator: Nathan Schneider, target: ^https?://(www[.])?aclweb\\.org/anthology-new/[^#]+,

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.