Bug 834413 - RFE: cman without root-group privileges
RFE: cman without root-group privileges
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: cluster (Show other bugs)
Unspecified Unspecified
high Severity urgent
: rc
: 6.4
Assigned To: Fabio Massimo Di Nitto
Cluster QE
: FutureFeature
Depends On:
Blocks: 733221
  Show dependency treegraph
Reported: 2012-06-21 15:19 EDT by mick
Modified: 2012-07-03 04:37 EDT (History)
10 users (show)

See Also:
Fixed In Version:
Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2012-07-02 03:12:18 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description mick 2012-06-21 15:19:12 EDT
Request for Enhancement

MRG Messaging needs the ability for our clustered brokers to
get quorum changes in CPG order, but without the necessity for
our qpidd executable to run with root, or root-group privileges.

Many customers and potential customers of the MRG Messaging
system request our clustering feature, which we would like to
implement atop CMAN.  We have already successfully implemented
experimental code using CMAN.

However, some of our customers are requiring a combination of
features that we believe we cannot currently satisfy with CMAN.

We need to provide:

  1. An at-least-once delivery guarantee.
  2. No need for our qpidd executable to be in the root group.

We can satisfy the at-least-once guarantee if our clustered
messaging brokers receive quorum-change messages in CPG order.
CMAN does that for us, but only at the cost of our processes
running with root-group privileges.

We can avoid the root-group privileges by using cmannotifyd, but
only at the cost of losing the CPG ordering guarantee.  If we use
cmannotifyd, and if one of our brokers fails, there will be a window
of time during which our cluster may lose messages.

Our ideal solution would be to use the CMAN interface as we are
now in our experimental code, but without the need to run with
root or root-group privileges.
Comment 2 Lon Hohberger 2012-06-28 16:37:00 EDT
rgmanager in STABLE32 (upstream) does something like this in msg_socket.c using SO_PEERCRED from getsockopt.  Then, each request is processed based on the permissions required.

rgmanager in this case simply differentiates read-only (less permission required - root gid) with read-write (more permission required - root uid).

However, the way it is set up, rgmanager mimics CMAN's permissions currently, I believe.
Comment 4 Fabio Massimo Di Nitto 2012-07-02 03:12:18 EDT
As originally discussed, this cannot and will not happen.

Note You need to log in before you can comment on or make changes to this bug.