Сбросить пароли LDAP-пользователей при первом входе
У меня есть установка LDAP, работающая в системе Centos7.
Я хочу создать большое количество пользователей. Эти пользователи получат пароль по умолчанию, поэтому я хочу, чтобы они меняли пароль при (только) первом входе в систему.
Есть ли опция, которую я мог бы установить в ldif-файле, чтобы включить эту функцию? (Просто при первом входе не каждый раз при входе)
заранее спасибо
Редактировать: Кроме того, sry, если я спрашиваю об этом прямо, но была ли вставка наложения в этой причине, и для чего это нужно? Я вставил схему ppolicy через sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/ppolicy.ldif
И создал пароль policy.ldif
Edit2:
Поэтому я попробовал решение, которое было упомянуто здесь, но, похоже, что-то пошло не так, это просто игнорирование моей команды. Я добавил схему схемы ppolicy.
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/ppolicy.ldif
После этого я активировал модуль, добавив следующий Ldif
dn: cn=module,cn=config
objectClass: olcModuleList
cn: module
olcModulePath: /usr/lib64/openldap
olcModuleLoad: ppolicy.la
Затем я создал оверлей, как показано в некоторых руководствах:
database: bdb
suffix: "dc=example,dc=com"
overlay: ppolicy
ppolicy_default: "cn=default,ou=policies,dc=example,dc=com"
После этого я добавил обычную политику:
# Creates a Policies OU (Organizational Unit)
dn: ou=Policies,dc=example,dc=com
objectClass: organizationalUnit
ou: Policies
# Creates a Policy object in Policies OU (Organizational Unit)
dn: cn=default,ou=Policies,dc=example,dc=com
objectClass: top
objectClass: device
objectClass: pwdPolicy
cn: default
pwdAttribute: 2.5.4.35
pwdMaxAge: 3888000
pwdExpireWarning: 604800
pwdInHistory: 3
pwdCheckQuality: 1
pwdMinLength: 8
pwdMaxFailure: 5
pwdLockout: TRUE
pwdLockoutDuration: 300
pwdGraceAuthNLimit: 0
pwdFailureCountInterval: 0
pwdMustChange: TRUE
pwdAllowUserChange: TRUE
#pwdSafeModify: FALSE
Затем я попытался добавить пользователя с атрибутом follwing (user.ldif):
dn: uid=pwresettest,ou=People,dc=example,dc=com
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
cn: pwresettest
sn: andsoon
userPassword: passwort
loginShell: /bin/bash
uidNumber: 1005
gidNumber: 1005
homeDirectory: /home/pwresettest
pwdReset: TRUE
Но когда я вхожу в систему с этим пользователем, нет запроса на сброс пароля.
Я сделал что-то неправильно?
Заранее спасибо за ваши ответы.
искренне
Twinhand
1 ответ
Я предполагаю, что ваш сервер OpenLDAP.
Если вы развернете ppolicy, вы получите возможность принудительно изменить пароль при первом входе в систему с помощью комбинации pwdMustChange
в файле политики плюс pwdReset
на входе.
Положительным моментом является то, что вы собираетесь развернуть то, что вам понадобится в будущем: срок действия пароля, проверка пароля и так далее.
Недостатком является установка ppolicy: вставка схемы, вставка наложения и политика настройки (специальная запись для хранения ваших конфигураций).
Другая проблема заключается в том, что, хотя ppolicy является общим решением, поскольку он помещается в сам каталог, вы можете столкнуться с проблемами, чтобы позволить ему взаимодействовать с вашими инструментами клиента.