Вопрос: Почему мне не удается добавить объектный класс pwdPolicy в cn = PasswordDefaults?
Исходная информация
Я новичок в LDAP, и я натыкаюсь на различные учебные пособия и другие советы в Интернете, чтобы создать каталог, который будет обрабатывать информацию о пользователях для меня. Я пытаюсь создать сервер LDAP, который будет содержать информацию о пользователе и применять политику паролей. Я считаю, что для этого мне нужно добавить объектный класс pwdPolicy в ou = Policies на мой сервер LDAP, работающий под управлением 2.4.40. Я примерно следую этим руководствам:
{
Password Policy tutorial: https://tobrunet.ch/articles/openldap-password-policy-overlay/,
Getting started with OpenLDAP and CentOS7: https://www.server-world.info/en/note?os=CentOS_7&p=openldap&f=1,
Default and User Specific Password Policy: http://www.zytrax.com/books/ldap/ch6/ppolicy.html
}
У меня есть такой каталог:
-> Root stuff
-> dc=example,dc=com
-> cn=Manager (The olcRootDN)
-> ou=User
-> *Several entries with objectClasses {posixAccount, shadowAccount, inetOrgPerson}*
-> ou=Policies (Not sure if this is here because not visible in Apache Directory Studio)
-> cn=passwordDefault
Вот что я сделал, чтобы попытаться использовать ppolicy.
Шаги 1–3 слабо следуют командам из OpenLDAP с OLC раздел Наложение политики паролей OpenLDAP
Шаг 1: Загрузите схему ppolicy в OLC с помощью этой команды:
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/ppolicy.ldif
Понимание шага 1: добавляет cn = {5} ppolicy.ldif в /.../slap.d/cn=config/cn=schema
Шаг 2: Загрузите модуль с помощью этой команды:
ldapadd -D "cn=config" -W -f addPpolicyOverlay.ldif
содержимое addPpolicyOverlay.ldif
dn: cn=module{0},cn=config
objectClass: olcModuleList
cn: module{0}
olcModuleLoad: ppolicy.la
Понимание шага 2: добавляет cn = module {0} .ldif в /.../slapd.d/cn=config.
Шаг 3: Настройте наложение ppolicy с помощью этой команды:
ldapadd -D "cn=config" -W -f configurePpolicyOverlay.ldif
содержимое configurePpolicyOverlay.ldif
dn: olcOverlay=ppolicy,olcDatabase={2}hdb,cn=config
objectClass: olcOverlayConfig
objectClass: olcPPolicyConfig
olcOverlay: ppolicy
olcPPolicyDefault: cn=passwordDefault,ou=Policies,dc=example,dc=com
olcPPolicyHashCleartest: FALSE
olcPPolicyUseLockout: FALSE
olcPPolicyForwardUpdates: FALSE
Понимание шага 3: Создает базу данных и использует наложение ppolicy. Делает ou = Политики в моем домене dc = example, dc = com. Я не могу изучить политики ou = в Apache Directory Studio, хотя считаю, что они существуют в dc = example, dc = com
Вопросы по шагу 3: У меня теперь есть рабочая политика паролей по умолчанию?
Шаг 4: Не удается добавить объектный класс pwdPolicy в olcOverlay = {0} ppolicy с помощью этой команды:
ldapmodify -a -D "cn=config" -W -f configureDefaultPpolicy.ldif
Ошибка:ldapmodify: invalid format (line 5) entry: "olcOverlay={0}ppolicy,cn=olcDatabase={2}hdb,cn=config"
содержимое configureDefaultPpolicy.ldif
dn: olcOverlay={0}ppolicy,cn=oldDatabase={2}hdb,cn=config]
changetype: modify
olcObjectClasses: pwdPolicy
cn=passwordDefault,ou=Policies,dc=example,dc=com
pwdAttribute: userPassword
pwdAllowUserChange: TRUE
pwdInHistory: 50
pwdMaxFailure: 3
pwdMinLength: 8
Вопросы о шаге 4: http://i.imgur.com/80yPJVG.jpg (Недостаточно доверяют, чтобы вставлять картинки :()
Понимание шага 3: Создает базу данных и использует наложение ppolicy. Делает ou = Политики в моем домене dc = example, dc = com. Я не могу изучить политики ou = в Apache Directory Studio, хотя считаю, что они существуют в dc = example, dc = com
Он ничего не создает в базе данных dc=example,dc=com
, он просто установил некоторую конфигурацию для наложения ppolicy, используемого этой базой данных.
Вопросы по шагу 3: У меня теперь есть рабочая политика паролей по умолчанию?
Нет, согласно вашему руководству, вы должны создать эти ветки в базе данных. dc=example,dc=com
чтобы иметь возможность поставить ppolicy:
Это не должно быть cn=config
но в базе dc=example,dc=com
dn: ou=Policies,dc=example,dc=com
ou: Policies
objectClass: organizationalUnit
dn: cn=passwordDefault,ou=Policies,dc=example,dc=com
objectClass: pwdPolicy
objectClass: person
objectClass: top
cn: passwordDefault
sn: passwordDefault
pwdAttribute: userPassword
pwdCheckQuality: 0
pwdMinAge: 0
pwdMaxAge: 0
pwdMinLength: 8
pwdInHistory: 5
pwdMaxFailure: 3
pwdFailureCountInterval: 0
pwdLockout: TRUE
pwdLockoutDuration: 0
pwdAllowUserChange: TRUE
pwdExpireWarning: 0
pwdGraceAuthNLimit: 0
pwdMustChange: FALSE
pwdSafeModify: FALSE
Что касается вопроса о шаге 4, я не могу видеть изображения imgur за своим профессиональным прокси, но тот факт, что вы пытаетесь импортировать ppolicy в cn = config, должен быть основной проблемой.