Skip to main content

Synchronise LDAP users to MySQL and MariaDB

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

myldapsync-1.0.9.tar.gz (11.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

myldapsync-1.0.9-py3-none-any.whl (13.3 kB view details)

Uploaded Python 3

File details

Details for the file myldapsync-1.0.9.tar.gz.

File metadata

  • Download URL: myldapsync-1.0.9.tar.gz
  • Upload date:
  • Size: 11.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.22

File hashes

Hashes for myldapsync-1.0.9.tar.gz
Algorithm Hash digest
SHA256 8d2cc6368323d0b8128eb49a494ca2acfce2671be64a93272ca130ab1c83b9fa
MD5 957f7f161713f16264a932e73d1b794f
BLAKE2b-256 9a2b37ee52eb157c167f9261ba7ad1eea042a8df35ebb6c83b3e62d46b779fec

See more details on using hashes here.

File details

Details for the file myldapsync-1.0.9-py3-none-any.whl.

File metadata

  • Download URL: myldapsync-1.0.9-py3-none-any.whl
  • Upload date:
  • Size: 13.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.22

File hashes

Hashes for myldapsync-1.0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 df114de50ce95b3c50d44a1ac28b3c9959bef398a656493db4aa531a209f0caf
MD5 f1fcaf0c48b958cb575d4ca57be5b018
BLAKE2b-256 6c90d2c98c50168ed0b53fd4a0306904527ced990b48e1c79e13b97520edaa54

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page