Ändern Sie das Kennwort auf dem Client mit sssd kerberos und ldap

729
Charles

Ich habe einen Fehler, wenn ich passwd in der ldap-Benutzersitzung verwende. Ich bekomme:

passwd: Authentication token manipulation error 

Ich überprüfe diesen Link, aber es hat nicht geholfen. In meinem habe cn=config/olcDatabase=mbd.ldifich Regeln:

olcAccess: to attrs=userPassword,shadowLastChange,krbPrincipalKey by dn="cn=rootdn,ou=private,ou=tl" write by anonymous auth by self write by * none  olcAccess: to dn.base="" by * read  olcAccess: to * by dn="cn=rootdn,ou=private,ou=tl" write by * read 

Die getent passwd <ldap user>Werke

Hier meine Konfigurationsdateien.

Datei sssd.conf:

[sssd] debug_level = 0xFFF0 config_file_version = 2 services = nss,pam domains = STAGENFS.FR  [nss] debug_level = 0xFFF0 filter_users = root filter_groups = root  [pam] debug_level = 0xFFF0 offline_credentials_expiration = 1  [domain/STAGENFS.FR] debug_level = 0xFFF0 ldap_schema = rfc2307 ldap_search_base = ou=tl  id_provider = ldap auth_provider = krb5 chpass_provider = krb5 access_provider = ldap  ldap_access_order = filter ldap_access_filter = &(objectClass=posixAccount) (uidNumber=*)  ldap_uri = ldaps://ldap02.stagenfs.fr ldap_referrals = False ldap_id_use_start_tls = False cache_credentials = True account_cache_expiration = 1 enumerate = True ldap_default_bind_dn = cn=proxyuser,ou=private,ou=tl ldap_default_authtok_type = password ldap_default_authtok = ProxyUser123# ldap_tls_cacert = /etc/ssl/certs/cacert.pem  krb5_realm = STAGENFS.FR krb5_canonicalize = False krb5_server = kdc.stagenfs.fr krb5_kpasswd = kdc.stagenfs.fr krb5_ccachedir = /home/%u 

nsswitch Datei:

# /etc/nsswitch.conf # # Example configuration of GNU Name Service Switch functionality. # If you have the `glibc-doc-reference' and `info' packages installed, try: # `info libc "Name Service Switch"' for information about this file.  passwd: compat systemd sss group: compat systemd sss shadow: compat sss gshadow: files  hosts: files mdns4_minimal [NOTFOUND=return] dns myhostname networks: files  protocols: db files services: db files sss ethers: db files rpc: db files  netgroup: nis sss sudoers: files sss 

Ich habe pam_sss.so in pam.d-Dateien:

# /etc/pam.d/common-account account [default=bad success=ok user_unknown=ignore] pam_sss.so  # /etc/pam.d/common-auth auth [success=1 default=ignore] pam_sss.so use_first_pass  # /etc/pam.d/common-password password sufficient pam_sss.so use_authtok  # /etc/pam.d/common-session session required pam_mkhomedir.so skel=/etc/skel/ session optional pam_sss.so 

Wissen Sie, ob ich dafür eine Sasl-Konfiguration benötige? Wenn Sie eine Idee haben oder weitere Informationen benötigen, zögern Sie nicht! Vielen Dank.

0
Haben Sie Protokolle von sssd oder von Ihrem Kerberos KDC? grawity vor 5 Jahren 0

1 Antwort auf die Frage

1
Michael Ströder

Ohne Logs zu sehen ist schwer zu helfen, aber ich versuche es:

Ich gehe davon aus, dass Sie MIT Kerberos mit OpenLDAP als Backend einrichten.

Beachten Sie, dass das Ändern krbPrincipalKey hat nicht Schreib benötigt Zugriff für den Benutzer (Selbst-), da der Kerberos - Schlüssel tatsächlich geändert wird kadmind Bindung an den LDAP - Server mit seiner Dienstidentität.

Sie sollten daher prüfen, ob Sie über geeignete ACLs für kadmind und die KDC-Dienste verfügen . Wenn Sie nur über die in Ihrer Frage genannten ACLs verfügen, fehlen definitiv Teile.

Sie finden die Details in den MIT-Kerberos-Dokumenten (basierend auf der Syntax für die statische OpenLDAP-Konfiguration slapd.conf ):

Konfigurieren von Kerberos mit OpenLDAP-Backend