Це стара версія документу!
Управление LDAP
Важно
LDAP сервер и его пользователи никак не соотносятся с локальными администраторами Ubilling.
В статье никак не описана настройка самого LDAP. Здесь подразумевается: что сервер уже настроен и обладает какой-то структурой групп, заполнеными dc и прочим.
Так же не будет никаких описаний по настройке radius авторизации на самом железе.
Основное описание
Тестовая площадка:
- ubuntu 16.04
- slapd с поддержкой MemberOf
- freeradius
Модуль предназначен для управления пользователями на LDAP сервере.
Текущий функционал:
- Создание\удаление пользователей
- Смена паролей
- Назначение привелегий, через принадлежность к тем или инным группам
- Создание и удаление групп влияет только на локальную БД и никак не влияет на наличие групп в самом LDAP.
Установка:
- Все нужные файлы лежат в docs/ldapmgr. Файлы с расширением ldif это шаблоны
- Распаковать все файлы в одну папку на LDAP сервере. В моем случае это /opt/ldap_scripts
- Сделать chmod 777 /opt/ldap_scripts/*
- Исправить ldapmgr.ini и scripts.ini под свои реалии
- Сделать вызов users.php в crontab. В идеале запускать его раз в минуту
- Требует включеного LDAPMGR_ENABLED в alter.ini
Связка с freeradius
Если вы хотите что бы LDAP пользователи могли подключаться к вашему сетевому оборудованию то выбор не велик: radius или tacacs. Для себя я выбрал freeradius потому что больше с ним знаком. Вот пример как можно ограничивать доступ к управлению оборудования в зависимости от принадлежности к группе. Все имена групп лишь пример, вы можете использовать любые удобные вам названия.
- Пользователь должен принадлежать к группе radius иначе авторизация не пройдет
- Пользователь должен принадлежать к группе superadm или operators. От этого зависит уровень прав.
/etc/freeradius# cat users DEFAULT Ldap-Group != 'radius', Auth-Type := Reject DEFAULT Ldap-Group == "superadm" Cisco-AVPair = "shell:priv-lvl=15", dlink-Privelege-Level = 5, Huawei-Exec-Privilege = 15, User-Service-Type = Shell-User DEFAULT Ldap-Group == "operators" Cisco-AVPair = "shell:priv-lvl=1", dlink-Privelege-Level = 3, Huawei-Exec-Privilege = 16, User-Service-Type = Shell-User
