LDAP Schema Manager 🛠️
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
Metadata
Release files for ldapsm 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ldapsm-1.0.0.tar.gz | 5.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ldapsm-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 11.1 kB
Release files / ldapsm-1.0.0.tar.gz
| Download URL | ldapsm-1.0.0.tar.gz |
|---|---|
| Size | 5.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f424ae3d412678528e272075a9f88d9853dbe68b89bd970d885dc01f0405fe75
|
|
BLAKE2b-256 checksum How to use checksums |
bcce4e3a96605dd4096a85335112adaa7d8475cacde4df6ef16a866e5412b2a5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.11
|
Release files / ldapsm-1.0.0-py3-none-any.whl
| Download URL | ldapsm-1.0.0-py3-none-any.whl |
|---|---|
| Size | 5.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a0410499a8fbef767100651b2c85b698f31a0664c45000d50ed143a19efb9305
|
|
BLAKE2b-256 checksum How to use checksums |
2921014b27b4d709bfe7d7db4d5e23cd6c489aa490e006e7ca1acd159f525711
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.11
|