ldap forçar usuário a alterar a senha

5

Estou usando o CentOS-ds (com base nos servidores de diretório Redhat-DS e 389).

Eu tenho a configuração do LDAP e trabalho para autenticar os usuários (e o Sudo, que é um recurso útil!). mesmo o passwd está funcionando muito bem para alterar as senhas armazenadas no Ldap. No entanto, tenho um pequeno problema. Como posso forçar todas as minhas contas de usuário a criar uma nova senha depois de fazer login no servidor? a maneira normal de fazer isso:

chage -d 0 username

não parece ser 'ldap-ified'. Como posso forçar as pessoas a criar novas senhas em seu próximo login (ssh)? Preciso criar contas de usuário e realmente não quero que as pessoas guardem as senhas que eu defini para elas.

* edit - Configurei o servidor LDAP para forçar uma alteração de senha quando a senha é redefinida. No entanto, não consigo encontrar uma maneira de "redefinir" a senha da maneira correta para acionar isso. (tudo o que posso encontrar é apenas fazer o login como Directory Manager e mudar sua senha) * edit2. Como vamos mover muitas máquinas para o LDAP depois que essa parte for descoberta, escrevi um script para ser executado como raiz para configurar a autenticação LDAP. Talvez esteja faltando alguma coisa aqui? (editado fora servidores e basedn.)

#!/bin/sh
#
authconfig --enableldap --enableldapauth --enablemkhomedir --ldapserver=<server1>,<server2> --ldapbasedn="<basedn>" --update
echo 'sudoers:    files ldap' >> /etc/nsswitch.conf
echo 'base <basedn>
timelimit 120
bind_policy soft
bind_timelimit 120
idle_timelimit 3600
uri ldap://<server1>/  
uri ldap://<server2>/
ssl no
tls_cacertdir /etc/openldap/cacerts 
pam_password md5
sudoers_base    ou=SUDOers,<basedn>
' > /etc/ldap.conf
    
por Brian 04.04.2011 / 21:21

3 respostas

2

Eu encontrei uma solução: Na entrada LDAP de usuários, defina ShadowLastChange = 0 Isso forçará o usuário a redefinir sua senha LDAP. No entanto, há também um outro bug, então você tem que modificar as permissões (ACL's) no servidor LDAP (eu tinha o padrão de Allow Self entry modification on OU = People) para também permitir que eles modifiquem o destino ShadownLastChange . / p>

Caso contrário, eles não poderão alterar o valor e permanecerão em zero, forçando-os a refazer sua senha sempre que fizerem login.

    
por 06.04.2011 / 18:08
0

Tente o atributo passwordMustChange

Quando ativado, esse atributo exige que os usuários alterem suas senhas quando fizerem o primeiro login no diretório ou depois que a senha for redefinida pelo Gerenciador de diretórios. O usuário é solicitado a alterar sua senha, mesmo que as senhas definidas pelo usuário estejam desativadas. Se esse atributo estiver desativado, as senhas designadas pelo Gerenciador de diretórios não devem seguir nenhuma convenção óbvia e devem ser difíceis de descobrir. Este atributo está desativado por padrão.

Consulte: - link

    
por 12.12.2011 / 20:27
0

@Brian alterando o shadowlastchange = 0 é realmente uma má idéia. A maior parte do cliente LDAP não foi projetada para alterar o valor do valor shadowlastchange. Então você vai cair em um loop infinito para mudar a senha toda vez que você entrar.

algum cliente ldap

nss-pam-ldapd - Esta funcionalidade foi adicionada recentemente no projeto upstream nss-pam-ldapd Registro: tente atualizar o atributo shadowLastChange de um usuário na alteração de senha (o atualização só é tentada se o atributo estiver presente para começar) link

sssd -
Ainda um RFE link

samba-ldap-tools - recusou

    
por 13.12.2011 / 22:09

Tags