Изменить пароль Policy objectClass в LDAP
У меня есть файл LDF FF для добавления attributeType passwordNonRootMayResetUserpwd. AttributeType уже существует.
dn: cn=schema
changetype: modify
delete: objectClasses
objectClasses: ( 1.3.6.1.4.1.42.2.27.9.2.6 NAME 'passwordPolicy'
SUP top STRUCTURAL MUST cn MAY ( description $ passwordMaxAge
$ passwordExp $ passwordMinLength $ passwordInHistory
$ passwordChange $ passwordWarning $ passwordLockout
$ passwordMaxFailure $ passwordResetDuration
$ passwordUnlock $ passwordLockoutDuration
$ passwordCheckSyntax $ passwordMustChange
$ passwordStorageScheme $ passwordMinAge
$ passwordResetFailureCount $ passwordExpireWithoutWarning
$ passwordRootdnMayBypassModsChecks ) )
dn: cn=schema
changetype: modify
add: objectClasses
objectClasses: ( 1.3.6.1.4.1.42.2.27.9.2.6 NAME 'passwordPolicy'
SUP top STRUCTURAL MUST cn MAY ( description $ passwordMaxAge
$ passwordExp $ passwordMinLength $ passwordInHistory
$ passwordChange $ passwordWarning $ passwordLockout
$ passwordMaxFailure $ passwordResetDuration
$ passwordUnlock $ passwordLockoutDuration
$ passwordCheckSyntax $ passwordMustChange
$ passwordStorageScheme $ passwordMinAge
$ passwordResetFailureCount $ passwordExpireWithoutWarning
$ passwordRootdnMayBypassModsChecks $ passwordNonRootMayResetUserpwd ) )
Я получаю ошибку FF, и я застрял.
$ ldapmodify -h host -p 8888 -D "cn=Directory Manager" -f delete_add.ldif
Enter bind password:
modifying entry cn=schema
ldap_modify: DSA is unwilling to perform
ldap_modify: additional info: objectclasses: No target attribute type or object class specified
Я не знаю, что вызывает эту ошибку, так как attributeType существует так же, как и objectClass.
Изменить: эта служба LDAP работает в Sun OS 10.
2 ответа
Вы не упоминаете, какой внутренний сервер предлагает услуги LDAP. Как правило, при изменении схемы таким способом лучше всего удалить и добавить как одну атомарную операцию.
То есть - после удаления: сразу после действия add:.
Я получил его, выполнив ff последовательно:
Во-первых, добавьте attributeType
dn: cn=schema
changetype: modify
add: attributeTypes
attributeTypes: ( 1.3.6.1.4.1.42.2.27.9.1.782
NAME 'passwordNonRootMayResetUserpwd'
DESC 'Sun ONE defined password policy attribute type'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
X-DS-USE 'internal'
X-ORIGIN 'Sun ONE Directory Server' )
Наконец, свяжите attributeType с objectClass
dn: cn=schema
changetype: modify
add: objectClasses
objectClasses: ( 1.3.6.1.4.1.42.2.27.9.2.6 NAME 'passwordPolicy'
SUP top STRUCTURAL MUST cn MAY ( description $ passwordMaxAge
$ passwordExp $ passwordMinLength $ passwordInHistory
$ passwordChange $ passwordWarning $ passwordLockout
$ passwordMaxFailure $ passwordResetDuration
$ passwordUnlock $ passwordLockoutDuration
$ passwordCheckSyntax $ passwordMustChange
$ passwordStorageScheme $ passwordMinAge
$ passwordResetFailureCount $ passwordExpireWithoutWarning
$ passwordRootdnMayBypassModsChecks $ passwordNonRootMayResetUserpwd ) )
Запустите эти два файла в отдельные файлы LDIF, затем вызовите ldapmodify