質問:オブジェクトクラスpwdPolicyをcn = PasswordDefaultsに追加できないのはなぜですか?
背景情報
私はLDAPを初めて使用しているのですが、ユーザー情報を処理するディレクトリを作成するために、さまざまなチュートリアルやその他のヒントをオンラインで偶然見つけています。ユーザー情報を含み、パスワードポリシーを適用するLDAPサーバーを作成しようとしています。これを実現するには、2.4.40を実行しているLDAPサーバーのou = PoliciesにpwdPolicyオブジェクトクラスを追加する必要があると思います。私は大まかにこれらのチュートリアルに従っています:
_{
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 with 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 = Policiesをdc = example、dc = comにします。 dc = example、dc = comに存在していると思われるにもかかわらず、Apache Directory Studioでou = Policiesを探索できません
ステップ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 = Policiesをdc = example、dc = comにします。 dc = example、dc = comに存在すると思われるにもかかわらず、Apache Directory Studioでou = Policiesを探索できません
データベースdc=example,dc=com
には何も作成せず、このデータベースで使用されるppolicyオーバーレイの構成を設定するだけです。
ステップ3に関する質問:有効なデフォルトのパスワードポリシーはありますか?
いいえ、チュートリアルに従って、ppolicyを配置できるようにするには、これらのブランチをデータベースdc=example,dc=com
に作成する必要があります。
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に関する質問については、プロのプロキシの背後にあるイメージ画像を見ることができませんが、ppolicyをcn = configにインポートしようとすることが主な問題です。