sambaSID Fehler beim Benutzer anlegen

german

#1

Beim Anlegen eines neuen Benutzers per UDM bekomme ich die Meldung:

Beim Übernehmen der Änderungen ist ein Fehler aufgetreten:
‘sambaSID’

Benutzer ist dann allerdings im System angelegt und hat auch Samba Zugriff.

in der /var/log/syslog erscheint noch folgender Eintrag:

Apr  5 19:55:37 uniweser python2.4: CAUGHT EXCEPTION! 'sambaSID' Traceback (most recent call last):   File "/usr/share/univention-directory-manager/uniconf/modedit.py", line 5611, in apply     self.object.create()   File "/usr/lib/python2.4/site-packages/univention/admin/handlers/__init__.py", line 305, in create     return self._create()   File "/usr/lib/python2.4/site-packages/univention/admin/handlers/__init__.py", line 647, in _create     self.remove()   File "/usr/lib/python2.4/site-packages/univention/admin/handlers/__init__.py", line 429, in remove     return self._remove(remove_childs)   File "/usr/lib/python2.4/site-packages/univention/admin/handlers/__init__.py", line 851, in _remove     self._ldap_pre_remove()   File "/usr/lib/python2.4/site-packages/univention/admin/handlers/users/user.py", line 2580, in _ldap_pre_remove     self.sid=self.oldattr['sambaSID'][0] KeyError: 'sambaSID'

Systemstand UCS 2.3-1-1

Hat dieser Fehler Systemauswirkung und wie kann er beseitigt werden?


#2

Hallo,

der Traceback deutet darauf hin das der Benutzer aus einem (unbekannten) Grund nicht vollständig angelegt werden konnte.
In einem solchen Fall wird die Funktion “self.remove()” aufgerufen um eventuell bereits gespeicherte Informationen wieder zu entfernen. Dieser Aufruf erzeugt in Ihrem Fall den Traceback.

Können Sie den Traceback mit jedem Anlegen eines Benutzers reproduzieren? Welche Informationen (abgesehen von Benutzername, Nachname und Passwort) geben Sie beim Anlegen des Benutzers an?

Mit freundlichen Grüßen
Janis Meybohm


#3

Hallo,

es ist bei jedem Anlegen eines Benutzers reproduzierbar.
Als Test habe ich für den neuen Benutzer nur die Pflichtfelder angegeben. SambaSID Fehler kommt immer.

Interessanterweise wurde für einen meiner Testuser trotz der SambaSID Fehlermeldung einen /Home Ordner angelegt. Für alle anderen jedoch nicht.

Danke,
s.schulz


#4

Hallo,

um die Ursache des Fehlers zu ermitteln, würde ich Sie bitten den UDM sowie den LDAP-Server für einen Test mit einem höheren Debug-Level zu starten:

ucr set ldap/debug/level=256
ucr set directory/manager/web/debug/level=4
/etc/init.d/slapd restart

Bitte Reproduzieren Sie die Fehlermeldung und lassen Sie uns anschließend ein Support-Info Archiv (wie im SDB-Artikel Systeminformationen für den Univention-Support beschrieben) zukommen (als Upload hier im Forum oder per Mail an feedback@univention.de). Geben Sie bitte außerdem den Benutzernamen an den Sie in Ihrem Test verwendet haben.

Nach dem Test sollten Sie diue Debug-level wieder zurücksetzen:

ucr set ldap/debug/level=0
ucr set directory/manager/web/debug/level=0
/etc/init.d/slapd restart

Mit freundlichen Grüßen
Janis Meybohm


#5

Hallo,

das univention-support-info Archiv habe ich an feedback@univention.de gemailt.

Neu angelegt wurde der Benutzername ‘ucs-test’

Danke,
s.schulz


#6

Hallo,

ich vermute dass die für den neuen Benutzer generierte Samba-RID (diese wird beim anlegen aus der uidNumber*2+1000 generiert) bereits im LDAP vergeben ist. Dies kann z.B. vorkommen wenn Benutzer importiert oder die RID manuell gesetzt wurde.
Sie können diese Vermutung überprüfen indem Sie einen Benutzer mit manuell gewählter uidNumber anlegen.

Dazu ermitteln Sie bitte die zuletzt verwendete uidNumber, z.B.:

# ldapsearch -xLLL cn=uidNumber univentionLastUsedValue dn: cn=uidNumber,cn=temporary,cn=univention,dc=univention,dc=qa univentionLastUsedValue: 2014

Und verwenden Sie diese, z.B. +10, um die uidNumber im Feld “Benutzer-ID” auf dem “POSIX” Tab für den neuen Benutzer zu setzen. Das Attribut “univentionLastUsedValue” sollte dann automatisch auf die von Ihnen geählte uidNumber aktualisiert werden.

In neueren UCS-Versionen tritt dieses Problem nicht mehr auf, da die RID (sollte Sie automatisch generierte bereits vergeben sein) automatisch erhöht wird.

Mit freundlichen Grüßen
Janis Meybohm


#7

Hallo,

in UCS 2.3 scheint es den “POSIX” Tab noch nicht zu geben.

Grüße,
s.schulz


#8

Hallo,

in Versionen vor UCS 2.4 ist der Tab nur mit “Linux/Unix” benannt.

Mit freundlichen Grüßen
Janis Meybohm


#9

ldapsearch gab aus:
univentionLastUsedValue: 1184

Beim anlegen des neuen Benutzers habe ich manuell Benutzer-ID 1194 eingetragen.

Nach klick auf OK gab es dann wieder den ‘sambaSID’ Fehler im UDM.

ldapserch sagt richtig:
univentionLastUsedValue: 1194

Es gibt weiterhin keinen /Home Ordner für den neuen Testuser


#10

Hallo,

um zu prüfen welche UIDs und SIDs bereits vergeben sind, könnten Sie bitte die Ausgabe des folgenden Befehls anhängen oder uns per Mail zukommen lassen:

ldapsearch -xLLL uid=* sambasid uidnumber

Dass das Heimatverzeichniss nicht angelegt wird ist ein Folgefehler der Probleme beim hinzufügen des Objekts im LDAP.

Mit freundlichen Grüßen
Janis Meybohm


#11

Hallo

ldapsearch Ausgabe habe ich an feedback@univention.de gemailt.

Danke,
s.schulz


#12

Hallo,

ich vermute eine Inkonsistenz der memberUid/uniqueMember Attribute an mind. einer Ihrer Gruppen. Mit dem folgenden Befehl können Sie prüfen ob und welche Gruppen betroffen sind:

/usr/share/univention-directory-manager-tools/univention-sync-memberuid --test

Wenn im Test-Modus Gruppen ausgegeben werden, führen Sie das Script bitte noch einmal ohne die Option “–test” aus.
Sollte ein anschließender Aufruf mit “–test” weiterhin Gruppen ausgeben, starten Sie das Script bitte noch einmal im Debug-Modus:

/usr/share/univention-directory-manager-tools/univention-sync-memberuid -d 4

Lassen Sie uns in diesem Fall bitte die Ausgabe von “ldapsearch -xLLL cn=GRUPPE” für jede ausgegebene Gruppe, sowie die Logdatei /var/log/univention/sync-memberuid.log zukommen.

Mit freundlichen Grüßen
Janis Meybohm


#13

mit --test wurden alle Gruppen ausgegeben
nachdem 1x ohne --test ausgeführt wurde
nur noch:

Test Mode: The following groups have to be modified: Group: cn=Domain Users,cn=groups,dc=weser,dc=evlka,dc=de

ldapsearch -xLLL cn=Domain Users

dn: cn=domain,cn=mail,dc=weser,dc=evlka,dc=de

/var/log/univention/sync-memberuid.log
ging per Mail an feedback@univention.de

Danke,
s.schulz


#14

Hallo,

Gruppennamen mit Leerzeichen müssen korrekt escaped oder mit Anführungszeichen eingeschlossen werden, z.B.:

ldapsearch -xLLL cn="Domain Users"

Mit freundlichen Grüßen
Janis Meybohm


#15

[quote=“Meybohm”]Hallo,

Gruppennamen mit Leerzeichen müssen korrekt escaped oder mit Anführungszeichen eingeschlossen werden, z.B.:

ldapsearch -xLLL cn="Domain Users"

Mit freundlichen Grüßen
Janis Meybohm[/quote]

OK, die Ausgabe habe ich auch an feedback@univention.de gemailt.

Danke,
s.schulz


#16

Hallo,

in der ldapsearch Ausgabe ist zu sehen dass einige Windows-Rechner Mitglieder der Gruppe “Domain Users” sind. Außerdem gibt es wohl einen Rechner und einen Benutzer mit gleichem Namen (“hluedemann”), was in älteren UCS Versionen (bis UCS 2.2) zu einer Inkonsistenz zwischen den memberUid und uniqueMember Attributen einer Gruppe führen konnte der Benutzer sowie Rechner zugeordnet waren (Bug #12644).

Generell würde ich empfehlen die Rechner komplett aus der Gruppe “Domain Users” zu entfernen. Sollte dies für Sie nicht in frage kommen, entfernen Sie bitte lediglich den Rechner “hluedemann” aus der Gruppe.

Mit freundlichen Grüßen
Janis Meybohm


#17

Hallo,

Rechnerkonto wurde aus Gruppe “Domain Users” entfernt, hatte dort auch nichts zu suchen.

Nach der Änderung wurden die SID’s wieder korrekt verteilt.

Vielen Dank,
s.schulz