This commit is contained in:
denis 2026-03-23 22:52:30 +03:00
commit 6010cbb10d
2 changed files with 120 additions and 0 deletions

120
README.md Normal file
View File

@ -0,0 +1,120 @@
# 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
```

BIN
mini-ldap_1.0.0_all.deb Normal file

Binary file not shown.