Se você ativar a autenticação LDAP globalmente por meio do PAM e configurar /etc/pam.d/passwd , os usuários poderão alterar sua própria senha LDAP por meio do comando passwd como é comum para contas Unix locais.
Espero que você já possa fazer login com usuários do ldap.
Para permitir alterações de senha com o comando passwd você precisa editar /etc/pam.d/passwd e adicionar
password sufficient pam_ldap.so use_authtok
password required pam_deny.so
------ editar ------
Em vez de editar manualmente os arquivos de configuração, você também pode usar o authconfig para configurar o ldap no cliente centos.
O comando a seguir configura a autenticação LDAP de forma que os usuários possam alterar suas senhas com o comando comum passwd
.
authconfig \
--enableldap \
--enableldapauth \
--ldapserver='ldap://example.com/' \
--ldapbasedn='dc=example,dc=com' \
--update
Talvez você também queira usar os seguintes sinalizadores para preservar a autenticação local e a criação automática de diretórios iniciais inexistentes no login.
--enablemkhomedir \
--enableshadow \
--enablelocauthorize \
--passalgo=sha256 \
Após o comando anterior, execute authconfig --test
para verificar as configurações.
Verifique as seguintes partes da saída:
nss_ldap is enabled
LDAP+TLS is disabled
LDAP server = "ldap://example.com/"
LDAP base DN = "dc=example,dc=com"
pam_unix is always enabled
shadow passwords are enabled
password hashing algorithm is sha256
pam_ldap is enabled
LDAP+TLS is disabled
LDAP server = "ldap://example.com/"
LDAP base DN = "dc=example,dc=com"
LDAP schema = "rfc2307"
pam_mkhomedir or pam_oddjob_mkhomedir is enabled (umask=0077)
Always authorize local users is enabled ()
Alterar senha para usuários agora é simples como:
ldapuser@centos ~ % passwd
Changing password for user ldapuser.
(current) LDAP Password:
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
ldapuser@centos ~ %