У меня есть установка LDAP, работающая в системе Centos7.
Я хочу создать большое количество пользователей. Эти пользователи получат пароль по умолчанию, поэтому я хочу, чтобы они изменили пароль при (единственном) первом входе в систему.
Есть ли опция, которую я мог бы установить в ldif-файле, чтобы включить эту функцию? (Только при первом входе в систему, а не каждый раз при входе в систему)
заранее спасибо
Изменить: Кроме того, извините, если я спрашиваю об этом прямо, но это была накладная вставка в этой причине, и для чего она нужна? Я вставил схему 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
Я предполагаю, что ваш сервер - OpenLDAP.
Если вы развернете ppolicy, вы можете принудительно изменить пароль при первом входе в систему с помощью комбинации pwdMustChange
в файле политики плюс pwdReset
на входе.
Плюс в том, что вы собираетесь развернуть то, что вам понадобится в будущем: срок действия пароля, проверка силы пароля и так далее.
Обратной стороной является необходимость установки ppolicy: вставка схемы, вставка оверлея и политика установки (специальная запись для хранения ваших конфигураций).
Другая проблема заключается в том, что хотя ppolicy является общим решением, поскольку он размещен в самом каталоге, вы можете столкнуться с проблемами, позволяя ему взаимодействовать с вашими клиентскими инструментами.