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)
| File | Size | Uploaded | |
|---|---|---|---|
| myldapsync-1.0.11.tar.gz | 11.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|