Sent: Thursday, August 12, 2021 11:48 AM
To: General discussion list for the 389 Directory server project. <firstname.lastname@example.org>; Michael Starling <email@example.com>
Subject: Re: [389-users] How to replicate password lockout attributes from a consumer or hub to a master(s)
I've taken over a large 389-ds environment running on Oracle Linux 8 and the first task I need to complete is to enable password lockouts.
I was able to enable password lockouts successfully however it only works if the client is pointed directly to a master. The account locks out and the attributes are propagated down to the hubs and consumers.
If the client is pointed to a read-only hub or consumer then the account does not lockout and the password attributes do not propagate back to the masters.
passwordIsGlobalPolicy: on is set on all masters, hubs and consumers
Password policy attributes I expect to replicate:
I've tried following the chaining guide below which I think is what I need to do to get this work as expected, however I've hit a snag.
Introduction. The usual deployment for a large replication topology will have the client applications reading from hubs or dedicated consumers in order to spread out the load and off-load search request processing from the masters.directory.fedoraproject.orgThe document states the backend must be added to the hub or consumer, however when I try and add the following LDIF to the hub I get the "unwilling to perform" error.
This makes sense because the hub is read-only so I'm confused as how I can update the config on a read-only hub or consumer?
dn: cn=chainlab,cn=chaining database,cn=plugins,cn=configobjectclass: topobjectclass: extensibleObjectobjectclass: nsBackendInstancecn: chainlabnsslapd-suffix: dc=domain,dc=comnsmultiplexorbinddn: uid=repluser,cn=confignsmultiplexorcredentials: mypasswordnsCheckLocalACI: on
adding new entry "cn=chainlab,cn=chaining database,cn=plugins,cn=config"
ldap_add: Server is unwilling to perform (53)
This is the doc you want to follow to get this working. But it is complicated...
In this case I'm not sure why the error 53 is being returned. There is something about that entry it does not like. So please check the access and errors log from the time of this failure (see /var/log/dirsrv/slapd-YOUR_INSTANCE/). There is usually more info logged when an error 53 happens.
Also what version of 389-ds-base are you running?
Hub or Consumer
Step 1 (Hub and Consumer): the chaining backend must be created on the hub and consumer:
dn: cn=chainbe1,cn=chaining database,cn=plugins,cn=config objectclass: top objectclass: extensibleObject objectclass: nsBackendInstance cn: chainbe1 nsslapd-suffix: <suffix to replicate> nsfarmserverurl: ldap://supplier1:port supplier2:port ... supplierN:port/ # also, ldaps can be used instead # of ldap for secure connections - # requires the secure port nsmultiplexorbinddn: cn=Replication Manager,cn=config # or whatever the replica bind DN is on the supplier nsmultiplexorcredentials: password nsCheckLocalACI: on
Any help would be greatly appreciated.
_______________________________________________ 389-users mailing list -- firstname.lastname@example.org To unsubscribe send an email to email@example.com Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://firstname.lastname@example.org Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure
-- Directory Server Development Team
Thanks for getting me the right track Mark. Looks like the "nsFarmServerURL" is not correct.
I thought I was maybe hitting the bug described below so I added a trailing "/" but the issue persists.
nsfarmserverurl: ldap://dsa1.domain.com:389 ldap://dsa2.domain.com:389 ldap://dsa3.domain.com:389/
This is what I see in the logs on the hub when trying to add the LDIF.
The idea is for the hub to send these password attributes back to all masters.
These are the masters in the environment.ldap://dsa1.domain.com:389ldap://dsa2.domain.com:389ldap://dsa3.domain.com:389[12/Aug/2021:14:12:38.228746875 -0400] - ERR - chaining database - cb_instance_config_initialize - Error with config attribute nsfarmserverurl : not a valid LDAP URL[12/Aug/2021:14:12:38.230107318 -0400] - ERR - chaining database - cb_instance_add_config_check_callback - Can't instantiate chaining backend instance chainlab.[12/Aug/2021:14:13:11.436433137 -0400] - ERR - chaining database - cb_instance_config_initialize - Error with config attribute nsfarmserverurl : not a valid LDAP URL[12/Aug/2021:14:13:11.437510161 -0400] - ERR - chaining database - cb_instance_add_config_check_callback - Can't instantiate chaining backend instance chainlab.[12/Aug/2021:14:15:15.652343542 -0400] - ERR - chaining database - cb_instance_config_initialize - Error with config attribute nsfarmserverurl : not a valid LDAP URL[12/Aug/2021:14:15:15.653524818 -0400] - ERR - chaining database - cb_instance_add_config_check_callback - Can't instantiate chaining backend instance chainlab.[12/Aug/2021:14:20:12.212414022 -0400] - ERR - chaining database - cb_instance_config_initialize - Error with config attribute nsfarmserverurl : not a valid LDAP URL[12/Aug/2021:14:20:12.213556900 -0400] - ERR - chaining database - cb_instance_add_config_check_callback - Can't instantiate chaining backend instance chainlab