Skip to main content

CLI tool to manage OpenLDAP schema snippets under cn=config

Project description

LDAP Schema Manager 🛠️

GitHub Sponsors Patreon Buy Me a Coffee PayPal

A Python-based CLI tool for managing OpenLDAP schema snippets under cn=config, allowing you to create or update schema entries—including custom olcAttributeTypes and olcObjectClasses—via LDAPI.

🚀 Installation (PyPI)

python3 -m pip install --upgrade pip
python3 -m pip install ldapsm

System dependencies (required for python-ldap)

python-ldap requires OpenLDAP development headers and SASL/SSL libraries.

Debian / Ubuntu:

sudo apt-get update
sudo apt-get install -y --no-install-recommends \
  gcc python3-dev libldap2-dev libsasl2-dev libssl-dev

Arch Linux:

sudo pacman -S --needed gcc openldap

📝 Usage

After installation, run:

ldapsm --help

Example

ldapsm \
  -s ldapi:/// \
  -D "" \
  -W "" \
  -n nextcloud \
  -a "( 1.3.6.1.4.1.99999.1 NAME 'nextcloudQuota' DESC 'Quota for Nextcloud' EQUALITY integerMatch ORDERING integerOrderingMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )" \
  -c "( 1.3.6.1.4.1.99999.2 NAME 'nextcloudUser' DESC 'Auxiliary class for Nextcloud attributes' AUXILIARY MAY ( nextcloudQuota ) )"

📖 Help

For detailed usage and options, run:

ldapsm --help

🛡️ Contributing

Contributions, issues, and feature requests are welcome! Feel free to check issues.

📜 License

This project is licensed under the MIT License.


Author: Kevin Veen-Birkenbach

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

ldapsm-1.0.0.tar.gz (5.2 kB view details)

Uploaded Source

Built Distribution

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

ldapsm-1.0.0-py3-none-any.whl (5.9 kB view details)

Uploaded Python 3

File details

Details for the file ldapsm-1.0.0.tar.gz.

File metadata

  • Download URL: ldapsm-1.0.0.tar.gz
  • Upload date:
  • Size: 5.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for ldapsm-1.0.0.tar.gz
Algorithm Hash digest
SHA256 f424ae3d412678528e272075a9f88d9853dbe68b89bd970d885dc01f0405fe75
MD5 7f97d77782455ffbd4f43fc23e656949
BLAKE2b-256 bcce4e3a96605dd4096a85335112adaa7d8475cacde4df6ef16a866e5412b2a5

See more details on using hashes here.

File details

Details for the file ldapsm-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: ldapsm-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 5.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for ldapsm-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a0410499a8fbef767100651b2c85b698f31a0664c45000d50ed143a19efb9305
MD5 35738e02320bad785396c8c930f4a608
BLAKE2b-256 2921014b27b4d709bfe7d7db4d5e23cd6c489aa490e006e7ca1acd159f525711

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