65 lines
1.4 KiB
Markdown
65 lines
1.4 KiB
Markdown
# LDAP User Directory Tool
|
|
|
|
A Python tool for interacting with LDAP user and group directories, particularly useful for Active Directory management.
|
|
|
|
## Features
|
|
|
|
- List users and groups from LDAP directories
|
|
- Manage group memberships (add/remove users)
|
|
- Query user information by username or email
|
|
- Recursive group membership resolution
|
|
- Support for MS SFU (Services for Unix) attributes
|
|
- Paged results for large directories
|
|
|
|
## Installation
|
|
|
|
```bash
|
|
pip install ldapuserdir
|
|
```
|
|
|
|
## Usage
|
|
|
|
```bash
|
|
# List groups matching a pattern
|
|
ldapuserdir-ctl 'svc-cluster_*'
|
|
|
|
# Get group memberships for a user
|
|
ldapuserdir-ctl -g username
|
|
|
|
# Add users to a group
|
|
ldapuserdir-ctl -a groupname user1 user2 user3
|
|
|
|
# Remove users from a group
|
|
ldapuserdir-ctl -d groupname user1 user2
|
|
|
|
# List users matching a pattern
|
|
ldapuserdir-ctl -u 'username*'
|
|
|
|
# List users by email pattern
|
|
ldapuserdir-ctl -m '*@example.com'
|
|
```
|
|
|
|
## Configuration
|
|
|
|
Create a configuration file at `~/.ldapuserdir-ctl.cfg` or `/etc/ldapuserdir-ctl.cfg`:
|
|
|
|
```ini
|
|
[Ldap]
|
|
serverurl = ldaps://your-ldap-server:636
|
|
user_ou = OU=Users,DC=example,DC=com
|
|
group_ou = OU=Groups,DC=example,DC=com
|
|
default_user_dn = CN=service-account,OU=Service Accounts,DC=example,DC=com
|
|
default_user_pw = service-account-password
|
|
default_group_filter = svc-*
|
|
```
|
|
|
|
## Requirements
|
|
|
|
- Python 3.6+
|
|
- python-ldap 3.0.0+
|
|
- Access to an LDAP server (Active Directory or other LDAP-compatible directory)
|
|
|
|
## License
|
|
|
|
GPLv3+
|