121 lines
4.0 KiB
Markdown
121 lines
4.0 KiB
Markdown
# mini-ldap
|
||
|
||
Легковесный LDAP сервер на Python с поддержкой Active Directory атрибутов для тестирования и разработки.
|
||
|
||
## 🎯 Возможности
|
||
|
||
- ✅ **Cовместимость с AD**
|
||
- ✅ **Поддержка основных операций** - BIND, SEARCH, MODIFY, ADD, DELETE
|
||
- ✅ **Wildcard поиск** - поддержка масок в фильтрах
|
||
- ✅ **Динамические тестовые пользователи** - генерация до 10,000+ пользователей на лету
|
||
- ✅ **Высокая производительность** - индексы, кэширование, асинхронная запись
|
||
- ✅ **Гибкая конфигурация** - внешний INI файл с настройками
|
||
- ✅ **Debug режим** - детальное логирование для отладки
|
||
|
||
## 🔧 Установка собранного пакета
|
||
|
||
```bash
|
||
# На ЛЮБОЙ машине Debian/Ubuntu
|
||
sudo dpkg -i mini-ldap_1.0.0_all.deb
|
||
|
||
# Запуск
|
||
sudo systemctl start mini-ldap
|
||
|
||
# Проверка
|
||
sudo systemctl status mini-ldap
|
||
|
||
# Логи
|
||
sudo journalctl -u mini-ldap -f
|
||
```
|
||
|
||
## 📖 Документация
|
||
|
||
### Основные команды:
|
||
|
||
```bash
|
||
# Управление сервисом
|
||
sudo systemctl start mini-ldap
|
||
sudo systemctl stop mini-ldap
|
||
sudo systemctl status mini-ldap
|
||
sudo journalctl -u mini-ldap -f
|
||
```
|
||
|
||
## 👥 Управление пользователями
|
||
|
||
### Утилита `mini-ldap-manage`:
|
||
|
||
```bash
|
||
# Список всех пользователей
|
||
sudo mini-ldap-manage list
|
||
|
||
# Добавить пользователя (минимум)
|
||
sudo mini-ldap-manage add john password123
|
||
|
||
# Добавить пользователя (полный вариант)
|
||
sudo mini-ldap-manage add jane pass456 jane@company.com "Jane" "Smith"
|
||
|
||
# Показать детали пользователя
|
||
sudo mini-ldap-manage show john
|
||
|
||
# Изменить пароль
|
||
sudo mini-ldap-manage passwd john newpass789
|
||
|
||
# Удалить пользователя
|
||
sudo mini-ldap-manage delete john
|
||
|
||
# Добавить дополнительный email
|
||
sudo mini-ldap-manage addproxy john john.doe@company.com
|
||
|
||
# Справка
|
||
sudo mini-ldap-manage help
|
||
|
||
После изменений пользователей перезапускать сервер НЕ нужно - изменения применяются автоматически!
|
||
```
|
||
|
||
## 🔐 Дефолтные учётные записи
|
||
|
||
| Username | Password | Email | Роль | DN |
|
||
|----------|----------|-------|------|-----|
|
||
| admin | admin123 | admin@example.com | Администратор | cn=admin,dc=example,dc=com |
|
||
| user1 | password123 | ivan@example.com | Пользователь | uid=user1,ou=users,dc=example,dc=com |
|
||
| user2 | password456 | petr@example.com | Пользователь | uid=user2,ou=users,dc=example,dc=com |
|
||
| testUser1-100 | test123 | testuser{N}@emailaddr.com | Тестовые | uid=testUser{N},ou=users,dc=example,dc=com |
|
||
|
||
⚠️ **ВАЖНО:** Для тестовых(lbyfvbxtcrb[]) пользователей не работает MODIFY, DELETE
|
||
|
||
|
||
## 🧪 Тестирование
|
||
|
||
```bash
|
||
# Поиск всех пользователей
|
||
ldapsearch -x -H ldap://localhost:10389 \
|
||
-D "cn=admin,dc=example,dc=com" \
|
||
-w admin123 \
|
||
-b "dc=example,dc=com" \
|
||
"(objectClass=person)"
|
||
|
||
# Поиск конкретного пользователя
|
||
ldapsearch -x -H ldap://localhost:10389 \
|
||
-D "cn=admin,dc=example,dc=com" \
|
||
-w admin123 \
|
||
-b "dc=example,dc=com" \
|
||
"(uid=user1)" -LLL
|
||
|
||
# Авторизация как пользователь
|
||
ldapsearch -x -H ldap://localhost:10389 \
|
||
-D "uid=user1,ou=users,dc=example,dc=com" \
|
||
-w password123 \
|
||
-b "dc=example,dc=com" \
|
||
"(uid=user1)" -LLL
|
||
```
|
||
|
||
## 🗑️ Удаление
|
||
|
||
```bash
|
||
# Удалить пакет (сохранить конфиги)
|
||
sudo apt remove mini-ldap
|
||
|
||
# Полное удаление (включая конфиги и данные)
|
||
sudo apt purge mini-ldap
|
||
```
|