[LDAP初心者]パスワードポリシー設定

前回のエントリ追加にて
ディレクトリツリーにユーザを追加することはできました。

そのユーザにパスワードポリシー
(パスワード有効期限、アカウントロックなど。。)
を設定することになりました。

設定する項目は次の項目
■共通設定
・パスワード有効期限(pwdMaxAge)
・パスワード有効期限切れ警告(pwdExpireWarning)
■ユーザ毎に取得する項目
・パスワード変更日時(pwdChangedTime)
・アカウントロック(pwdAccountLockedTime)
・初回パスワード(pwdReset)

上記項目の属性をエントリに追加しようと
探してみましたが、、見つからず。。。

調べてみたところ、
OpenLdapのDefaultでは
パスワードポリシーのオブジェクトクラスは設定されていないため
自分で初期設定ファイル(slapd.conf)に記述を追加しなければ
いけないとのこと。。。

ネットで調べた情報を参考に、
初期設定ファイル(slapd.conf)に下記の記述を追加してOpenLdapを再起動

===========================================================
# schema 追加
include         ../etc/openldap/schema/ppolicy.schema

#index記述の下に
# Password Policy
overlay ppolicy
ppolicy_default “cn=Standard Policy,ou=Policies,dc=my-domain,dc=com”
ppolicy_use_lockout
===========================================================

再起動後、下記のLDIFファイルを作成し
共通パスワードポリシー設定として登録

■ppolicy_ou.ldif
————————————————————————
#top level of organization
dn: ou=Policies,dc=my-domain,dc=com
objectClass: top
objectClass: organizationalUnit
ou: Policies
————————————————————————

■policy.ldif
————————————————————————
dn: cn=Standard Policy,ou=Policies,dc=my-domain,dc=com
objectClass: top
objectClass: device
objectClass: pwdPolicy
cn: Standard Policy
pwdAttribute: userPassword
pwdMaxFailure: 3
pwdMustChange: TRUE
pwdMinLength: 6
pwdInHistory: 1
pwdCheckQuality: 1
pwdMinAge: 0
pwdLockout: TRUE
pwdMaxAge: 2592000
pwdExpireWarning: 86400
pwdReset: TRUE
————————————————————————

登録はエントリ追加と同様にコマンドプロンプトより管理者ユーザで
「ldapadd」コマンドを実行

ldapadd -x -W -D “cn=Manager,dc=my-domain,dc=com” -f ppolicy_ou.ldif
ldapadd -x -W -D “cn=Manager,dc=my-domain,dc=com” -f policy.ldif

パスワードポリシーの共通設定は
正常に登録できました。