Скрипт заведения учетных записей в LDAP серв.
Реализовать скрипт одновременного заведение учетных записей в LDAP сервере и
email сервере.
Список необходимых атрибутов:
dn: [email protected],ou=users,dc=iss,dc=domain,dc=ru
uid: [email protected]
uid: user
uidNumber: 1002
gidNumber: 1000
objectClass: posixAccount
objectClass: inetOrgPerson
homeDirectory: /home/users/user
mail: [email protected]
userPassword:: HIOdfo9ULH434h3kj=
dn должен быть уникальным в пределах орг.юнита, например, ou=users,dc=iss,dc=domain,dc=ru
поэтому туда лучше вносить адрес электронной почты.
uid имеет несколько значений, поскольку разное ПО имеет различные механизмы аутентификации.
cn, sn обязателен, и в этот атрибут лучше всего прописывать сведения ФИО, либо наименование организации
mail - адрес электронной почты
uidNumber, gidNumber - uid и gid пользователя из системной базы данных, если необходимо. Для виртуальных пользователей особо не требуются.
userPassword при этом содержит зашифрованный пароль. Универсально работает CRYPT. Поскольку этот пароль недоступен извне и правами доступа разрешен только владельцу и root, сильное шифрование на мой взгляд, несущественно. MD5 или SHA1, SHA256 при желании можно проверить дополнительно. Обычно зависит от самого LDAP-сервера.
Итого, требуется интерфейс, который позволит указать сведения:
- имя учетной записи (имя пользователя)
- адрес электронной почты (он же имя пользователя для учетных систем, где используется адрес электронной почты для аутентификации)
- имя пользователя (ФИО, либо наименование организации)
- пароль с подтверждением пароля. В dial-up модуле управления мне понравилась функция автогенерации пароля для пользователя. Удобно, и пароль создается заранее безопасный.
В данный момент LDAP-каталог используется системами:
- Bugzilla. Аутентификация через адрес электронной почты
- OTRS. Аутентификация возможна как через имя пользователя, так и через адрес электронной почты. На данный момент настроено на работу через e-mail. Если интегрировать Веб-интерфейс электронной почты RoundCube, на данный момент поддерживается только один почтовый домен. Поддержка нескольких доменов (виртуальных) мной не проверялось. По документации не смотрел.
Внимание , нужна тщательная экспертиза , чтобы не создать дыру в защите