Skip to main content

myldapsync - fork of pgldapsync by EnterpriseDB Corporation adopted for MySQL and MariaDB

This Python module allows you to synchronize MySQL or MariaDB users with users in an LDAP directory.

Require MySQL 8 with installed and configured simple or sasl LDAP Authentication Plugin or PAM plugin (pam also supported in MySQL 5.7 and MariaDB).

Percona Server for MySQL:

https://docs.percona.com/percona-server/8.0/ldap-authentication

https://docs.percona.com/percona-server/8.0/pam-plugin.html

MySQL:

https://dev.mysql.com/doc/refman/8.0/en/ldap-pluggable-authentication.html

https://dev.mysql.com/doc/refman/8.0/en/pam-pluggable-authentication.html

MariaDB:

https://mariadb.com/kb/en/authentication-plugin-pam/

myldapsync is supported on Python 3.8 or later.

In order to use it, you will need to create a config.ini file containing the site-specific configuration you require. See config.ini.example for a complete list of all the available configuration options. This file should be copied to create your own configuration.

Once configured, simply run myldapsync like so:

python3 myldapsync.py /path/to/config.ini

In order to test the configuration (and dump the SQL that would be executed to stdout), run it like this:

python3 myldapsync.py --dry-run /path/to/config.ini

Creating a virtual environment for dev/test

python3 -m venv /path/to/myldapsync
source /path/to/myldapsync/bin/activate
pip install -r /path/to/myldapsync/requirements.txt

Adapt the first command as required for your environment/Python version.

Creating a package

To create a package (wheel), run the following in your virtual environment:

cd /path/to/myldapsync
pip install wheel
python3 setup.py sdist bdist_wheel

Installation from PyPI

Via pip:

pip install myldapsync

Via pipx:

pipx install myldapsync

Configuration

Example with some annotations - https://github.com/6eh01der/myldapsync/blob/main/myldapsync/config.ini.example

Metadata

Release files for myldapsync 1.0.11

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for myldapsync 1.0.11
File Size Uploaded
myldapsync-1.0.11.tar.gz 11.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for myldapsync 1.0.11
File Interpreter ABI Platform
myldapsync-1.0.11-py3-none-any.whl Python 3 none any Details

Total release size: 24.7 kB

Release files / myldapsync-1.0.11.tar.gz

Download URL myldapsync-1.0.11.tar.gz
Size 11.3 kB
Tags Source
SHA-256 checksum
How to use checksums
f6aab080a695794fa202d6b9500ccd150204b43b1f34d0621dea14ac3264753e
BLAKE2b-256 checksum
How to use checksums
47e478f3f9e0d77c32b72d814f7beb01b0a24965cd01ae3cd48b820d92184622
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.24

Release files / myldapsync-1.0.11-py3-none-any.whl

Download URL myldapsync-1.0.11-py3-none-any.whl
Size 13.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
96822135f96327daa5d429df66ebfa20cc8d5b9ae742b015674eb02a117ee996
BLAKE2b-256 checksum
How to use checksums
d3229c7f53efbcbe139106bc142d4a4dd62024ca3421005874d27ed3cb74e015
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.24
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page