[ClusterLabs] PCS ACL for the "pcs cluster stop" command
Miroslav Lisik
mlisik at redhat.com
Mon Oct 16 08:29:52 EDT 2023
On 10/16/23 12:16, Klaus Wenninger wrote:
>
>
> On Fri, Oct 13, 2023 at 9:21 PM Reid Wahl <nwahl at redhat.com
> <mailto:nwahl at redhat.com>> wrote:
>
> On Fri, Oct 13, 2023 at 12:19 PM Reid Wahl <nwahl at redhat.com
> <mailto:nwahl at redhat.com>> wrote:
> >
> > On Fri, Oct 13, 2023 at 9:56 AM Roberto Rodrigos
> <robson2445 at gmail.com <mailto:robson2445 at gmail.com>> wrote:
> > >
> > > good day!
> > > I use the configuration to create an ACL, it is shown below.
> How can I restrict access to the "pcs cluster stop" command for a user?
> >
> > I don't think you can. ACLs are implemented in Pacemaker; pcs simply
> > provides an interface to manage them.
> >
> > `pcs cluster stop` basically runs `systemctl stop pacemaker;
> systemctl
> > stop corosync`. So it doesn't interact with the Pacemaker ACLs. It
> > just stops the service.
>
> In my experience only the root user can run `pcs cluster stop`
> successfully anyway
>
>
> Haven't actually tried it but in a setup running pcsd stop commands would
> run in the context of pcsd and so it might still be possible to trigger
> commands
> by a non root user which wouldn't work being called directly.
>
> Klaus
>
Every user in haclient group with default pcsd permissions for haclient
group can run such commands like `pcs cluster stop` except `pcs cluster
node add` after authentication to the local pcsd.
[user at hostname ~]$ groups
user haclient
[user at hostname ~]$ pcs cluster stop
Warning: Unable to read the known-hosts file: No such file or directory:
'/home/user/.pcs/known-hosts'
Error: Unable to authenticate against the local pcsd. Run the same
command as root or authenticate yourself to the local pcsd using command
'pcs client local-auth'
[user at hostname ~]$ pcs client local-auth -u user
Password:
localhost: Authorized
[user at hostname ~]$ pcs cluster stop
Stopping Cluster (pacemaker)...
Stopping Cluster (corosync)...
>
> >
> > > useradd rouser -m -G haclient
> > > useradd rwuser -m -G haclient
> > > passwd rwuser
> > > passwd rouser
> > > pcs acl enable
> > > pcs acl role create read-only description="Read access to
> cluster" read xpath /cib
> > > pcs acl role create write-access description="Full access"
> write xpath /cib
> > > pcs acl permission add write_config write xpath /cib/configuration
> > > pcs acl permission add write_config write xpath
> //crm_config//nvpair[@name='maintenance-mode']
> > > pcs acl permission add write_config write xpath
> //nvpair[@name='maintenance']
> > > pcs acl permission add write_config write xpath //resources
> > > pcs acl permission add write_config write xpath //constraints
> > > pcs acl user create rouser read-only
> > > pcs acl user create rwuser write-access
> > > pcs acl role assign read-only to rouser
> > > pcs acl role assign write_config to rwuser
> > >
> > > User: rouser
> > > Roles: read-only
> > > User: rwuser
> > > Roles: write-access write_config
> > > Role: read-only
> > > Description: Read access to cluster
> > > Permission: read xpath /cib (read-only-read)
> > > Role: write-access
> > > Description: Full access
> > > Permission: write xpath /cib (write-access-write)
> > > Role: write_config
> > > Permission: write xpath /cib/configuration (write_config-write)
> > > Permission: write xpath
> //crm_config//nvpair[@name=maintenance-mode] (write_config-write-1)
> > > Permission: write xpath //nvpair[@name=maintenance]
> (write_config-write-2)
> > > Permission: write xpath //resources (write_config-write-3)
> > > Permission: write xpath //constraints (write_config-write-4)
> > >
> > > su rouser
> > > Username: rouser
> > > Password:
> > > localhost: Authorized
> > > pcs cluster stop
> > > Stopping Cluster (pacemaker)...
> > > Stopping Cluster (corosync)...
> > >
> > > _______________________________________________
> > > Manage your subscription:
> > > https://lists.clusterlabs.org/mailman/listinfo/users
> <https://lists.clusterlabs.org/mailman/listinfo/users>
> > >
> > > ClusterLabs home: https://www.clusterlabs.org/
> <https://www.clusterlabs.org/>
> >
> >
> >
> > --
> > Regards,
> >
> > Reid Wahl (He/Him)
> > Senior Software Engineer, Red Hat
> > RHEL High Availability - Pacemaker
>
>
>
> --
> Regards,
>
> Reid Wahl (He/Him)
> Senior Software Engineer, Red Hat
> RHEL High Availability - Pacemaker
>
> _______________________________________________
> Manage your subscription:
> https://lists.clusterlabs.org/mailman/listinfo/users
> <https://lists.clusterlabs.org/mailman/listinfo/users>
>
> ClusterLabs home: https://www.clusterlabs.org/
> <https://www.clusterlabs.org/>
>
>
> _______________________________________________
> Manage your subscription:
> https://lists.clusterlabs.org/mailman/listinfo/users
>
> ClusterLabs home: https://www.clusterlabs.org/
More information about the Users
mailing list