Назад | Перейти на главную страницу

Openldap настройка olcOverlay: ppolicy

Вопрос: Почему мне не удается добавить объектный класс 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, должен быть основной проблемой.