我通过打开的目录对Linux,Mac和Windows进行了身份validation,并挂载到Apple OS X Server上。 我想每隔180天就为用户过期密码,这个密码设置正常,工作正常。 麻烦的是,非Mac客户端,特别是Linux用户,没有迹象表明他们的密码即将到期,直到他们在一天之内,他们的密码只是没有任何启发性的错误消息工作。
所以我想编写机器的脚本,以便用户在密码过期前几天通过电子邮件发出警告,然后在到期日的另一天。 但是,OD LDAP数据库似乎没有存储信息,也没有mkpassdb -dump的输出。 有谁知道如何通过脚本的方式从外部获取信息,否则警告Linux用户他们的密码即将到期?
我们有完全相同的问题。 我结束了写一个Perl脚本发送密码警告。
本质上,您需要使用/usr/bin/pwpolicy -getglobalpolicy并将maxMinutesUntilChangePassword行与/usr/sbin/mkpassdb -dump <user slot>和上Last password change行进行比较。 您可以从LDAP中的authAuthority属性的第三个字段获取用户的插槽。
然后进行一些简单的计算来比较上次密码更改时间和最大年龄,如果密码过期,则发送一封电子邮件给用户。
编辑:在老虎, mkpassdb不接受用户插槽作为参数。 相反,您可以使用kadmin.local -q 'getprinc [email protected]'在kerberos数据库中查找密码更改时间。 您也可以从LDAP中检索用户主体的确切名称。