我正在尝试找到如何更改 OpenLDAP 中的某些密码策略设置(在系统范围级别,而不是在每个用户级别),以便全部LDAP 帐户用户(即现有用户和新用户)的密码将在 90 天后过期。
我知道控制这个的主要参数是参数maxPasswdAge
,但我不确定如何设置它。我尝试了不同的ldapmodify
选项,但都失败了:
ldapmodify -W -x -D "cn=Manager,dc=mydomain,dc=local" -f test.ldif
dn: cn=pwdpolicyentry,cn=common,cn=products,cn=OracleContext,o=my_company,dc=com
changetype: modify
replace: pwdMaxAge
pwdMaxAge: 7776000
错误信息是..
modifying entry "cn=pwdpoilicyentry,cn=common,cn=products,cn=Oraclecontext,dc=mydomain,dc=com"
ldapmodify :no such object(32)
matched DN: dc=mydomain,dc=com
我的问题是
有没有其他方法可以做到这一点,例如:只需在某些配置文件中的某个地方手动更改设置并重新启动 LDAP 服务器。
完成此操作后,是否有任何服务需要退回?
答案1
看起来您可能缺少策略条目树中的条目。
您需要加载slapo-ppolicy
覆盖。模块的手册页指定了您需要设置的内容。我发现Ztrax 文档同样有用。
答案2
实现您所需要的工具是ppolicy
。
这是一项多步骤任务,涉及:
- 添加模块;
- 添加架构;
- 添加到给定数据库的覆盖(它还定义哪个策略条目是默认策略);
- 添加一个或多个定义密码策略的条目(一个可以是默认策略)。
在步骤 4 定义的条目中,您可以修改pwdMaxAge
属性。
答案3
LDAP 目录中的“用户”条目需要具有 2 个属性:
passwordExp: on
passwordMaxAge: 8640000
8640000 = 100 天。