commit 6010cbb10d6ae30f5c73564009d647a5e450e73f Author: denis Date: Mon Mar 23 22:52:30 2026 +0300 new repo diff --git a/README.md b/README.md new file mode 100644 index 0000000..f8c0a52 --- /dev/null +++ b/README.md @@ -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 +``` diff --git a/mini-ldap_1.0.0_all.deb b/mini-ldap_1.0.0_all.deb new file mode 100644 index 0000000..cb0e996 Binary files /dev/null and b/mini-ldap_1.0.0_all.deb differ