Certifique-se de que pwdMustChange
esteja definido como TRUE
na política de senha efetiva do usuário.
Veja a página do manual slapo-ppolicy para obter mais informações.
Instalamos o overlay do ppolicy em nosso servidor ldap. As políticas de senha funcionam corretamente para bloquear o usuário após X tentativas incorretas de senha, mas não podemos forçar o usuário a alterar sua senha.
Quando definimos o atributo pwdReset = TRUE para um usuário - o usuário pode efetuar o login normalmente da máquina cliente Ubuntu.
Servidor Ldap & O cliente foi configurado de acordo com o Ubuntu howto: link
A máquina cliente usa o pam_ldap
O arquivo de configuração /etc/ldap.conf tem a linha "pam_lookup_policy yes"
Mas o atributo pwdReset é ignorado.
De acordo com o que eu li na internet, o pam_ldap deve honrar o ppolicy e exigir que o usuário mude sua senha quando o pwdReset estiver configurado. Mas isso não funciona para nós ..
Como tornar o atributo pwdReset de honra do cliente ubuntu?
Talvez eu possa ativar o registro de depuração para o pam_ldap? Mas não consigo encontrar como fazer isso ...
Certifique-se de que pwdMustChange
esteja definido como TRUE
na política de senha efetiva do usuário.
Veja a página do manual slapo-ppolicy para obter mais informações.
Eu encontrei isso também - meu problema específico era que, enquanto alguns aplicativos de terceiros (Okta no nosso caso) procuravam pwdReset
, o pam_ldap
plugin não.
Depois de dar uma olhada no código-fonte para pam_ldap
como hospedado aqui: link - cheguei ao conclusão de que pam_ldap
ignora completamente pwdReset
, que faz parte do ppolicy.schema
do OpenLDAP. Você pode encontrar o esquema que o OpenLDAP usa aqui: link
NOTA: Acredito que o problema é que os atributos de política do OpenLDAP são diferentes do esquema original usado pela implementação do servidor LDAP (Netscape? / UniversityOfMichigan? / Sun?), que é o que o pam_ldap
espera.
O que faz funcionar corretamente são os atributos shadow*
que fazem parte do shadowAccount
objectClass.
[Passos são para o Ubuntu]
Certifique-se de que seu (s) usuário (s) tenha uma política de senha definida no LDAP, verificando pwdPolicySubentry
:
ldapsearch (...) -b dc=example,dc=org "(uid=testinguser)" pwdPolicySubentry
Verifique as informações de shadow*
do seu usuário
slapcat -a uid=testinguser
Defina shadowLastChange
como 0 para permitir que pam_ldap
reconheça uma senha expirada
Isso pode ser feito por meio de um script que verifica pwdReset
e atualiza shadowLastChange
.
Quando isso está configurado, o PAM forçará corretamente um usuário a alterar sua senha no login.
Veja também: link