When a user is added, I always create a unix user on S1, then migrate it to LDAP, which I think is incorrect, but I don't know a better way.
Você pode integrar diretamente o gerenciamento de usuários NSS / PAM em seu servidor LDAP com ele mesmo. Estou fazendo isso com meus servidores Æ-DIR . É claro que você tem que ser cauteloso para não se bloquear se algo der errado. Assim, é uma boa idéia ter, além de várias réplicas para failover, algum tipo de login de emergência disponível.
Now I want to change password for my LDAP user on S1, but passwd prompts current (UNIX) password instead of current (LDAP) password.
Isso faz parte da configuração do PAM local. Você não disse nada sobre o Linux que você está usando. Mas hoje, na maioria das variantes do Linux, a configuração do PAM é encontrada no diretório /etc/pam.d/. A parte de configuração relevante do PAM é um tipo relevante de PAM quando a alteração da senha é "senha". O pedido também pode ser alterado com a configuração do PAM.
BTW: Eu não permitiria que todos os usuários acessassem os servidores LDAP para alterar sua senha com a ferramenta passwd
. Eu recomendaria fornecer um aplicativo de autoatendimento de senha baseado na Web para este caso de uso.
Esteja avisado que o PAM é complexo: você pode se aproveitar de grandes falhas de segurança e / ou bloquear-se. Então, tente primeiro com máquinas virtuais descartáveis.
Você também pode querer ajustar o /etc/nsswitch.conf se quiser integrar seu Linux com um gerenciamento de usuários baseado em LDAP.
Você pode querer ver soluções completas prontas para uso:
- back-end do NSS centralizado para Linux
- Gerenciamento central de usuários com múltiplos servidores com chaves SSH, LDAP?