2012年3月9日金曜日

OpenLDAP ppolicy でロックされてるアカウントを検索

OpenLDAPのppolicyで、複数回パスワードを間違った時に、アカウントをロックする仕組みは作った。

が、、、
だれがロックされているのか・・・
これを簡単に調べる方法がわかんなくて、今一つかな~ と思っていました。


ちょっと調べてみてわかったんですが、パスワードがロックされているユーザには、
pwdAccountLockedTime
という運用属性がつくようです。

なので、この属性があるアカウントを検索すれば、ロックされたアカウントを簡単に把握する事が出来ます。
で、設定されている時刻から、ロック時間が経過していないエントリが、今まさにロックされているアカウントになります。
(設定されている時刻は、UTCなので、date -u などで取り出した現在時刻と比較してください)

実際のコマンドはこんな感じ

[root@cent6 ~]# ldapsearch -x -w secret -D "cn=manager,dc=example,dc=co,dc=jp" -b "dc=example,dc=co,dc=jp" pwdAccountLockedTime=* pwdAccountLockedTime
# extended LDIF
#
# LDAPv3
# base with scope subtree
# filter: pwdAccountLockedTime=*
# requesting: pwdAccountLockedTime
#

# user01, users, example.co.jp
dn: uid=user01,ou=users,dc=example,dc=co,dc=jp
pwdAccountLockedTime: 20120308152037Z

# search result
search: 2
result: 0 Success

# numResponses: 2
# numEntries: 1

[root@cent6 ~]#

なお、ロック時間を経過したのち、一度でも認証に成功すると、この属性は消えてしまいます。

0 件のコメント:

コメントを投稿