Depois de muita pesquisa e teste. Aqui está a resposta para permitir que os usuários usem a função passwd
para alterar sua senha quando estiverem usando o SSSD com o backend do ldap. Se eles realmente podem autenticar com sua senha via ssh para o cliente SSSD, então o problema de alterar sua senha, que produz o seguinte: "passwd: erro de manipulação de token de autenticação" vem da ACL LDAP. Precisa de acesso de gravação automática ao atributo userPassword
Adicione o seguinte ao seu arquivo de configuração do ldap ao usar o olc. Editar olcDatabase={2}bdb.ldif olcAccess
:
{0}to attrs=userPassword,shadowLastChange by self write by anonymous
auth by dn="cn=Manager,dc=domain.com" write by * none
Certifique-se de adicionar um pouco mais para permitir leituras e gravações de outros atributos desejados.
olcAccess: {2}to * by * read by users read by anonymous auth
Você só precisa fazer isso uma vez para todos os usuários. {0}to attrs=userPassword
... assim como eu listei acima é aplicado como uma ACL ao servidor ldap e aplicado globalmente. Se você editar o olcDatabase={2}bdb.ldif olcAccess
manualmente, você terá que alterar o CRC, mas isso é fácil, pois há muitos readmes sobre isso.
O outro usuário postou a alteração das credenciais de ligação nos clientes /etc/sssd/sssd.conf
da seguinte forma:
ldap_default_bind_dn = cn=Manager,dc=mydomain,dc=fqdn.com ldap_default_authtok_type = password ldap_default_auttok = secret
A modificação em /etc/sssd/sssd.conf
credenciais de ligação não funcionou para mim, mas permitir que os usuários auto-escrevessem seu atributo userPassword ... Você pode nem sempre querer isso, mas para usar a função passwd em clientes linux com backend SSSD e LDAP você precisa disso.