Passwortänderung durch User nicht möglich

german

#1

Guten Abend,

ich habe leider ein Problem, wenn Benutzer sein Passwort ändern möchte. Der Benutzer meldet sich am DC Master an und im Menüpunkt “Passwortänderung” erscheint folgende Fehlermeldung.

[quote]Could not fulfill the request.

Server error message:

Changing password failed. The reason could not be determined. In case it helps, the raw error message will be displayed: Errorcode 10: The authentication has failed, please login again.[/quote]

Die gleiche Fehlermeldung erhält der Benutzer wenn er versucht das Passwort über den Self-Service versucht. Das management-console-web-server log meldet:

12.02.17 19:55:39.173 MAIN ( PROCESS ) : SessionClient(0x230f290): _authenticated: success=True status=200 message=None 12.02.17 19:55:49.503 MAIN ( PROCESS ) : CPSet (192.168.2.201:35233) response status code: 400 12.02.17 19:55:49.503 MAIN ( PROCESS ) : CPSet (192.168.2.201:35233) response message: Changing password failed. The reason could not be determined. In case it helps, the raw error message will be displayed: Errorcode 10: The authentication has failed, please login again.

Muss ich eine Konfiguration setzen, dass Benutzer Ihre Passwörter alleine ändern dürfen?

Bin über jeden Hinweis dankbar.

Gruß

Steffen


#2

Hallo,

Paßwort ändern kann ein angemeldeter Nutzer immer, dafür muß man nichts freischalten oder konfigurieren. Und wenn die Selbstbedienungs-App installiert ist, ist zumindest fürs Ändern des Paßwortes alles getan. (Paßwort-Reset ist eine andere Geschichte, da muß man noch ein paar Voraussetzungen erfüllen, aber darum geht es ja hier nicht.)

Wenn wir über zwei unterschiedliche Wege zu der gleichen Fehlermeldung gelangen

Errorcode 10: The authentication has failed, please login again.

scheint das Problem in der PAM Ebene zu stecken. Leider protokolliert PAM selbst so gut wie nichts. Eventuell kann man in der /var/log/auth.log noch etwas finden, was sich auf den Versuch bezieht.

Passiert denn das bei allen Nutzern oder nur bei diesem einen? Eventuell kann es auch ein Sonderzeichen im Paßwort sein, das irgendeine Zeichensatzkonvertierung nicht übersteht. Wenn es nicht zu umständlich ist, könnte man die gleiche Prozedur auch mit dem Nutzer im Terminal machen, etwa so:

root@ucs41-master:~# su - nutzername
nutzername@ucs41-master:~$ passwd
Current Kerberos password: 
Geben Sie ein neues Passwort ein: 
Schlechtes Passwort: Es basiert auf einem Wörterbucheintrag
passwd: Fehler beim Ändern des Authentifizierungstoken
passwd: Passwort nicht geändert
nutzername@ucs41-master:~$ 

Damit tut man haargenau das gleiche, wie es die Management Console auch tut, nur daß man eventuell etwas mehr Informationen bekommt.

viele Grüße
Frank Greif.


#3

Hallo Frank,

dies war ein sehr guter Hinweis:

root@DC01:/home/Administrator# su - steffen steffen@DC01:~$ passwd Current Kerberos password: passwd: Fehler beim Ändern des Authentifizierungstoken passwd: Passwort nicht geändert steffen@DC01:~$ echo $? 10

So jetzt aber ein Auszug aus dem /var/log/auth.log

root@DC01:/home/Administrator# cat /var/log/auth.log
Feb 14 10:11:09 DC01 passwd[11656]: pam_unix(passwd:chauthtok): user "steffen" does not exist in /etc/passwd

Die Fehlermeldung ist auch korrekt.

root@DEB-DC01:/home/Administrator# cat /etc/passwd | grep steffen | wc -l 0

Keiner meiner angelegten Nutzer ist in der /etc/passwd enthalten. Die LDAP Abfrage listet jedoch meinen Benutzer:

root@DEB-DC01:/home/Administrator# udm users/user list --filter uid=steffen
uid=steffen
DN: uid=steffen,cn=users,dc=corp,dc=xxxx,dc=yyyy
ARG: None
  homedrive: None
  CtxKeyboardLayout: None
  PasswordRecoveryEmail: None
  disabled: none
  postcode: None
  CtxWFProfilePath: None
...

Es scheint ein Problem im Setup meinerseits zu geben?

Gruß
Steffen


#4

In der /etc/passwd haben die Domain-User auch nichts zu suchen. Geht es per

kpasswd steffen

#5

Hallo SirTux,

root@DC01:/# kpasswd steffen steffen@CORP.xxxx.yyyy's Password: kpasswd: krb5_get_init_creds: Client (steffen@CORP.xxxx.yyyy) unknown root@DC01:/# echo $? 1

nein leider auch nicht.


#6

Die User sind auch überall vorhanden?

univention-ldapsearch uid=steffen
univention-s4-search cn=steffen

#7

ldapsearch Auszug:

[code]root@DC01:/home/Administrator# univention-ldapsearch uid=steffen

extended LDIF

LDAPv3

base <dc=corp,dc=xxxxx,dc=yyyyy> (default) with scope subtree

filter: uid=steffen

requesting: ALL

steffen, users, corp.xxxxx.yyyyy

dn: uid=steffen,cn=users,dc=corp,dc=xxxxx,dc=yyyy
uid: steffen
krb5PrincipalName: steffen@CORP.xxxxxx.yyyy
objectClass: krb5KDCEntry
objectClass: person
objectClass: automount

[/code]
S4 Suchabfrage:

root@DC01:/home/Administrator# univention-s4search cn=steffen
# Referral
ref: ldap://corp.xxxxxx.yyyyyy/CN=Configuration,DC=corp,DC=xxxxxx,DC=yyyyyy

# Referral
ref: ldap://corp.xxxxxx.yyyyyy/DC=DomainDnsZones,DC=corp,DC=xxxxxx,DC=yyyyyy

# Referral
ref: ldap://corp.xxxxxx.yyyyyy/DC=ForestDnsZones,DC=corp,DC=xxxxxx,DC=yyyyyy

# returned 3 records
# 0 entries
# 3 referrals

#8

Ich nehme an die Ausgabe vom ldapsearch ist gekürzt?

Die zweite Ausgabe läßt darauf schließen, daß der User nicht im Samba 4 vorhanden ist. Gibt es irgendwelche Rejects?

univention-s4connector-list-rejected

Oder wurde der User vielleicht ohne Samba-Option angelegt?


#9

Hallo SirTux,

ja die Ausgabe wurde gekürzt. Jedoch ist der Samba Account aktiviert, habe nochmal die “fast” vollständige Auagabe angefügt:

[code]root@DC01:/home/Administrator# univention-ldapsearch uid=steffen

extended LDIF

LDAPv3

base <dc=corp,dc=xxxxx,dc=yyyyy> (default) with scope subtree

filter: uid=steffen

requesting: ALL

steffen, users, corp.xxxxx.yyyyy

dn: uid=steffen,cn=users,dc=corp,dc=xxxxx,dc=yyyyy
uid: steffen
krb5PrincipalName: steffen@CORP.xxxxx.yyyyy
objectClass: krb5KDCEntry
objectClass: person
objectClass: automount
objectClass: top
objectClass: inetOrgPerson
objectClass: sambaSamAccount
objectClass: organizationalPerson
objectClass: univentionPWHistory
objectClass: univentionMail
objectClass: univentionSAMLEnabled
objectClass: shadowAccount
objectClass: krb5Principal
objectClass: posixAccount
objectClass: univentionObject
uidNumber: 2026
sambaAcctFlags: [U ]
krb5MaxLife: 86400
shadowLastChange: 17204
cn: steffen
sambaMungedDial: bQAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIABkA
AEAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAUAAFABoACA
ABAEMAdAB4AEMAZgBnAFAAcgBlAHMAZQBuAHQANTUxZTBiYjAYAAgAAQBDAHQAeABDAGYAZwBGAGw
AYQBnAHMAMQAwMDAwMDEwMA==
krb5MaxRenew: 604800
mail: steffen@xxxxx.yyyyy
description: steffen
loginShell: /bin/bash
univentionObjectType: users/user
displayName: steffen
mailPrimaryAddress: steffen@xxxxx.yyyyy
sambaSID: S-1-4-2026
gecos: steffen
sn: steffen
pwhistory: $……
homeDirectory: /home/steffen
gidNumber: 5001
sambaPrimaryGroupSID: S-1-5-21-2679543563-3726997285-661520206-513

krb5KDCFlags: 126
krb5KeyVersionNumber: 8
sambaPwdLastSet: 1487063465

search result

search: 3
result: 0 Success

numResponses: 2

numEntries: 1[/code]

root@DC01:/home/Administrator# univention-s4connector-list-rejected Traceback (most recent call last): File "/usr/sbin/univention-s4connector-list-rejected", line 161, in <module> main() File "/usr/sbin/univention-s4connector-list-rejected", line 123, in main False File "/usr/lib/pymodules/python2.7/univention/s4connector/s4/__init__.py", line 790, in __init__ univention.s4connector.ucs.__init__(self, CONFIGBASENAME, property, baseConfig, listener_dir) File "/usr/lib/pymodules/python2.7/univention/s4connector/__init__.py", line 482, in __init__ self.open_ucs() File "/usr/lib/pymodules/python2.7/univention/s4connector/__init__.py", line 515, in open_ucs self.lo = univention.admin.uldap.access(host=host, port=port, base=self.baseConfig['ldap/base'], binddn=binddn, bindpw=bindpw, start_tls=2, follow_referral=True) File "/usr/lib/pymodules/python2.7/univention/admin/uldap.py", line 238, in __init__ self.lo = univention.uldap.access(host, port, base, binddn, bindpw, start_tls, follow_referral=follow_referral) File "/usr/lib/pymodules/python2.7/univention/uldap.py", line 150, in __init__ self.__open(ca_certfile) File "/usr/lib/pymodules/python2.7/univention/uldap.py", line 189, in __open self.lo.simple_bind_s(self.binddn, self.__encode_pwd(self.bindpw)) File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 879, in simple_bind_s res = self._apply_method_s(SimpleLDAPObject.simple_bind_s,*args,**kwargs) File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 860, in _apply_method_s return func(self,*args,**kwargs) File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 215, in simple_bind_s resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout) File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 476, in result3 resp_ctrl_classes=resp_ctrl_classes File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 483, in result4 ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop) File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 106, in _ldap_call result = func(*args,**kwargs) ldap.INVALID_DN_SYNTAX: {'info': 'invalid DN', 'desc': 'Invalid DN syntax'}


#10

Der S4-Connector läuft dann vermutlich auch nicht richtig. Ist die untere Ausgabe zensiert? Speziell Angaben zur Bind-DN wären interessant. Über diese meckert er ja.


#11

Guten Morgen,

nein, die Ausagabe von univention-s4connector-list-rejected ist nicht zensiert, was kann ich tun, um den Fehler zu beheben?

Gruß


#12

Das Problem scheint ja bei der Bind-DN zu liegen. Was ist die Ausgabe von

ucr search connector/

#13

Hallo SirTux,

[quote]root@DC01:/home/Administrator# ucr search --brief connector/
connector/ad/mapping/group/language: de
connector/debug/function: 0
connector/debug/level: 2
connector/ldap/binddn: Administrator
connector/ldap/bindpw: /etc/univention/connector/password
connector/ldap/port:
connector/ldap/server:
connector/s4/allow/secondary:
connector/s4/autostart: yes
connector/s4/ldap/base: DC=CORP,DC=xxxxx,DC=yyyyy
connector/s4/ldap/binddn:
connector/s4/ldap/bindpw:
connector/s4/ldap/host: DC01.corp.xxxxx.yyyyy
connector/s4/ldap/port: 389
connector/s4/ldap/protocol: ldapi
connector/s4/ldap/socket: /var/lib/samba/private/ldap_priv/ldapi
connector/s4/ldap/ssl: no
connector/s4/listener/dir: /var/lib/univention-connector/s4
connector/s4/listener/disabled:
connector/s4/mapping/computer/syncmode:
connector/s4/mapping/computer_dc/syncmode:
connector/s4/mapping/container/ignorelist: mail,kerberos,MicrosoftDNS
connector/s4/mapping/container/syncmode:
connector/s4/mapping/dc/ignorelist:
connector/s4/mapping/dc/syncmode:
connector/s4/mapping/dns/forward_zone/./static/ipv4:
connector/s4/mapping/dns/forward_zone/.
/static/ipv6:
connector/s4/mapping/dns/host_record/./static/ipv4:
connector/s4/mapping/dns/host_record/.
/static/ipv6:
connector/s4/mapping/dns/ignorelist: DC=_ldap._tcp.Default-First-Site-Name._site
connector/s4/mapping/dns/position:
connector/s4/mapping/dns/srv_record/./location:
connector/s4/mapping/dns/syncmode:
connector/s4/mapping/gpo/ignorelist:
connector/s4/mapping/gpo/ntsd:
connector/s4/mapping/gpo: true
connector/s4/mapping/group/grouptype: true
connector/s4/mapping/group/ignorelist: Windows Hosts,Authenticated Users,World Authority,Everyone,Null Authority,Nobody,Enterprise Domain Controllers,Remote Interactive Logon,SChannel Authentication,Digest Authentication,Terminal Server User,NTLM Authentication,Other Organization,This Organization,Anonymous Logon,Network Service,Creator Group,Creator Owner,Local Service,Owner Rights,Interactive,Restricted,Network,Service,Dialup,System,Batch,Proxy,IUSR,Self
connector/s4/mapping/group/language: en
connector/s4/mapping/group/syncmode:
connector/s4/mapping/group/table/.
:
connector/s4/mapping/group/table/Printer-Admins: Print Operators
connector/s4/mapping/msprintconnectionpolicy/ignorelist:
connector/s4/mapping/msprintconnectionpolicy:
connector/s4/mapping/ou/ignorelist:
connector/s4/mapping/ou/syncmode:
connector/s4/mapping/sid/sid_to_ucs:
connector/s4/mapping/sid: true
connector/s4/mapping/sid_to_s4:
connector/s4/mapping/syncmode: sync
connector/s4/mapping/user/ignorelist: root,ucs-s4sync
connector/s4/mapping/user/syncmode:
connector/s4/mapping/windowscomputer/ignorelist:
connector/s4/mapping/wmifilter/ignorelist:
connector/s4/mapping/wmifilter:
connector/s4/poll/sleep: 5
connector/s4/retryrejected: 10[/quote]


#14

Bei mir steht das auf empty. Aber das muß nichts bedeuten:

connector/ldap/binddn: Administrator
connector/ldap/bindpw: /etc/univention/connector/password

Läuft der Connector?

/etc/init.d/univention-s4-connector status

Was steht in /var/log/univention/connector-s4.log?


#15

HI,

tut mir leid, dass ich hier einfach nur “reinpuste”:

root@DC01:/home/Administrator# /etc/init.d/univention-s4-connector status Usage: /etc/init.d/univention-s4-connector {start|stop|restart|crestart|force-reload} root@DC01:/home/Administrator# /etc/init.d/univention-s4-connector restart [info] Stopping univention-s4-connector daemon. done. [info] Starting univention-s4-connector daemon. done. root@DC01:/home/Administrator# echo $? 0

root@DC01:/home/Administrator# tail /var/log/univention/connector-s4.log 15.02.2017 17:28:43,662 MAIN (------ ): DEBUG_INIT 15.02.2017 17:29:13,733 MAIN (------ ): DEBUG_INIT 15.02.2017 17:29:43,818 MAIN (------ ): DEBUG_INIT 15.02.2017 17:30:13,890 MAIN (------ ): DEBUG_INIT 15.02.2017 17:30:43,969 MAIN (------ ): DEBUG_INIT 15.02.2017 17:31:14,28 MAIN (------ ): DEBUG_INIT 15.02.2017 17:31:44,104 MAIN (------ ): DEBUG_INIT 15.02.2017 17:32:14,174 MAIN (------ ): DEBUG_INIT 15.02.2017 17:32:44,249 MAIN (------ ): DEBUG_INIT 15.02.2017 17:33:14,326 MAIN (------ ): DEBUG_INIT root@DC01:/home/Administrator#


#16

Bitte auch in den älteren Dateien gucken.

Samba und OpenLDAP laufen ja?

/etc/init.d/samba status
ps aux|grep slapd

#17

Guten Morgen SirTux,

es scheint wohl tiefer zu liegen als ich anfangs gedacht habe:

root@DC01:/var/log/univention# grep ERROR ./connector-s4-status.log | wc -l 0

root@DC01:/var/log/univention# zgrep ERROR ./connector-s4.log.*gz ./connector-s4.log.11.gz:01.12.2016 01:07:33,716 LDAP (ERROR ): Failed to lookup S4 LDAP base, using UCR value. ./connector-s4.log.11.gz:01.12.2016 01:07:38,826 LDAP (ERROR ): Failed to lookup S4 LDAP base, using UCR value. ./connector-s4.log.11.gz:01.12.2016 01:07:43,967 LDAP (ERROR ): Failed to lookup S4 LDAP base, using UCR value. ./connector-s4.log.3.gz:24.01.2017 21:22:30,610 LDAP (ERROR ): Failed to lookup S4 LDAP base, using UCR value. ./connector-s4.log.4.gz:20.01.2017 15:19:53,722 LDAP (ERROR ): Failed to lookup S4 LDAP base, using UCR value. ./connector-s4.log.5.gz:13.01.2017 01:07:48,806 LDAP (ERROR ): Failed to lookup S4 LDAP base, using UCR value. ./connector-s4.log.5.gz:13.01.2017 01:07:53,886 LDAP (ERROR ): Failed to lookup S4 LDAP base, using UCR value. ./connector-s4.log.8.gz:23.12.2016 01:02:21,507 LDAP (ERROR ): Failed to lookup S4 LDAP base, using UCR value. ./connector-s4.log.8.gz:23.12.2016 01:02:26,666 LDAP (ERROR ): Failed to lookup S4 LDAP base, using UCR value. ./connector-s4.log.8.gz:23.12.2016 01:02:31,768 LDAP (ERROR ): Failed to lookup S4 LDAP base, using UCR value. ./connector-s4.log.8.gz:23.12.2016 01:02:36,842 LDAP (ERROR ): Failed to lookup S4 LDAP base, using UCR value.

root@DC01:/home/Administrator# /etc/init.d/samba status [ ok ] samba is running.

root@DC01:/home/Administrator# ps aux|grep slapd root 11574 0.0 0.1 9224 1768 pts/0 S+ 08:40 0:00 grep slapd root 32599 0.0 1.5 2481284 16208 ? Ssl Jan30 12:01 /usr/sbin/slapd -h ldapi:/// ldap://:7389/ ldaps://:7636/


#18

Der Samba 4-LDAP ist aber nicht völlig zerschossen?

univention-s4search cn=Administrator

#19

[code]root@DC01:/var/log/univention# univention-s4search cn=Administrator

record 1

dn: CN=Administrator,CN=Users,DC=corp,DC=xxxxx,DC=yyyyy
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: user
cn: Administrator
description: Built-in account for administering the computer/domain
instanceType: 4
whenCreated: 20161109211931.0Z
uSNCreated: 3547
name: Administrator
objectGUID: ad1218dd-2c2e-4281-b1f2-389920fa6df4
userAccountControl: 512
badPwdCount: 0
codePage: 0
countryCode: 0
badPasswordTime: 0
lastLogoff: 0
lastLogon: 0
objectSid: S-1-5-21-2679543563-3726997285-661520206-500
adminCount: 1
accountExpires: 9223372036854775807
logonCount: 0
sAMAccountName: Administrator
sAMAccountType: 805306368
objectCategory: CN=Person,CN=Schema,CN=Configuration,DC=corp,DC=xxxxx,DC=yyyyy
isCriticalSystemObject: TRUE
memberOf: CN=Administrators,CN=Builtin,DC=corp,DC=xxxxx,DC=yyyyy
memberOf: CN=Group Policy Creator Owners,CN=Groups,DC=corp,DC=xxxxx,DC=yyyyy
memberOf: CN=Enterprise Admins,CN=Groups,DC=corp,DC=xxxxx,DC=yyyyy
memberOf: CN=Schema Admins,CN=Groups,DC=corp,DC=xxxxx,DC=yyyyy
memberOf: CN=Domain Users,CN=Groups,DC=corp,DC=xxxxx,DC=yyyyy
memberOf: CN=DC Backup Hosts,CN=Groups,DC=corp,DC=xxxxx,DC=yyyyy
userPrincipalName: Administrator@CORP.xxxxx.yyyyy
pwdLastSet: 131231995110000000
lockoutTime: 0
displayName: Administrator
sn: Administrator
whenChanged: 20161109212338.0Z
primaryGroupID: 512
uSNChanged: 3730
distinguishedName: CN=Administrator,CN=Users,DC=corp,DC=xxxxx,DC=yyyyy

Referral

ref: ldap://corp.xxxxx.yyyyy/CN=Configuration,DC=corp,DC=xxxxx,DC=yyyyy

Referral

ref: ldap://corp.xxxxx.yyyyy/DC=DomainDnsZones,DC=corp,DC=xxxxx,DC=yyyyy

Referral

ref: ldap://corp.xxxxx.yyyyy/DC=ForestDnsZones,DC=corp,DC=xxxxx,DC=yyyyy

returned 4 records

1 entries

3 referrals[/code]


#20

Dann würde ich mal das Debug-Level vom Connector raufsetzen:

ucr set connector/debug/level='4'
/etc/init.d/univention-s4-connector restart

Gibts nun aussagekräftigere Meldungen?