SSSD breaks after Samba 4.21 update due to LDB plugin being in the wrong location
After the update to 2.9.5-4
, SSSD fails to start on my system with the following output:
* (2024-09-10 11:09:47): [sssd] [ldb] (0x0010): WARNING: Module [memberof] not found - do you need to set LDB_MODULES_PATH?
********************** BACKTRACE DUMP ENDS HERE *********************************
(2024-09-10 11:09:47): [sssd] [ldb] (0x0010): Unable to load modules for /var/lib/sss/db/cache_LDAP.ldb: (null)
* ... skipping repetitive backtrace ...
(2024-09-10 11:09:47): [sssd] [sysdb_cache_connect_helper] (0x0020): sysdb_ldb_connect failed.
(2024-09-10 11:09:47): [sssd] [sysdb_domain_init_internal] (0x0020): Could not open the sysdb cache [5]: Input/output error
********************** PREVIOUS MESSAGE WAS TRIGGERED BY THE FOLLOWING BACKTRACE:
* (2024-09-10 11:09:47): [sssd] [sysdb_cache_connect_helper] (0x0020): sysdb_ldb_connect failed.
* (2024-09-10 11:09:47): [sssd] [sysdb_domain_init_internal] (0x0020): Could not open the sysdb cache [5]: Input/output error
********************** BACKTRACE DUMP ENDS HERE *********************************
(2024-09-10 11:09:47): [sssd] [sysdb_init_ext] (0x0020): Cannot connect to database for LDAP: [5]: Input/output error`
This occurs because I use ldap_user_member_of = memberof
in SSSD's config and thus it requires the LDB plugin memberof
shipped with SSSD.
Now, with Samba (and thus LDB) 2:4.21.0-2
, the location for the LDB modules changed to /usr/lib/samba/ldb
yet the SSSD package places said memberof.so
in /usr/lib/ldb/modules/ldb/memberof.so
, alas the old plugin folder for LDB. I could temporarily work around the issue by copying the file to the new plugin folder manually, yet the package needs to be corrected so the file is shipped to the correct location.
Summary: Upgrading the system to the very latest versions of LDB and SSSD breaks SSSD entirely in the situation described above.