Hallo mereh,
stimmt natürlich, das cn= in dem grep-Befehl war falsch von mir, es muss (wie du schon erkannt hast) uid=Administrator heißen. Andernfalls findet der grep-Befehl nur die Gruppe cn=Administrators.
Bei dir sieht es also so aus, dass der Administrator-Benutzer am 20.09. im Laufe des Tages irgendwie gelöscht wurde (die LDAP-Dumps werden afaik immer um 0:00 Uhr gemacht). Das Beste wäre vermutlich den Benutzer per ldapmodify/ldapadd wieder einzuspielen. Ein Anlegen z.B. per udm wäre vermutlich auch möglich, aber da man da dann alle IDs etc. sowieso im Backup nachschauen müsste, kann man sich den Umweg wahrscheinlich sparen.
Ich habe das folgende bislang nur mit einem Testuser gemacht und nie mit dem Administrator, kann also keine Garantie geben, dass es funktioniert:
[ol]
[li]Suche im LDAP-Dump vom 20.09. das LDAP-Objekt des Administrator-Benutzers (z.B. mit zless), es sollte mit dn: uid=Administrator,cn=users,… anfangen. Eine Leerzeile schließt ein Objekt ab.[/li]
[li]Kopiere das komplette Objekt in eine eigene Datei (z.B. Administrator.ldif)[/li]
[li]Einige Zeilen musst du entfernen, da das interner Kram von slapd ist und beim Importieren zu “Constraint violation”-Fehlern führen würde:
entryUUID:
entryCSN:
createTimestamp:
creatorsName:
modifiersName:
modifyTimestamp:
structuralObjectClass:[/li]
[li]Anschließend kannst du das .ldif-File mit folgendem Befehl auf dem DC Master wieder einspielen:
ldapadd -x -D "cn=admin,$(ucr get ldap/base)" -w $(cat /etc/ldap.secret) -f Administrator.ldif
[li]Damit sollte zumindest der Benutzer wieder auftauchen. Teste die univention-ldapsearch-Befehle von oben nochmal.[/li]
[li]Vermutlich fehlen dir dann noch die Gruppenmitgliedschaften und damit auch die entsprechenden Berechtigungen. Dein ‘Administrator’ sollte mindestens Mitglied der Gruppen Domain Users, Domain Admins und DC Backup Hosts sein:
udm groups/group modify --dn "cn=Domain Admins,cn=groups,$(ucr get ldap/base)" --append "users=uid=Administrator,cn=users,$(ucr get ldap/base)"
udm groups/group modify --dn "cn=Domain Users,cn=groups,$(ucr get ldap/base)" --append "users=uid=Administrator,cn=users,$(ucr get ldap/base)"
udm groups/group modify --dn "cn=DC Backup Hosts,cn=groups,$(ucr get ldap/base)" --append "users=uid=Administrator,cn=users,$(ucr get ldap/base)"
Ist der jeweilige udm-Befehl erfolgreich, wird das mit einem Object modified: … quittiert. Überprüfen kannst du das dann z.B. mit udm groups/group list --filter “cn=Domain Admins”[/li][/ol]
Wenn das alles so geklappt hat, wie ich mir das vorstelle hast du nun wieder einen funktionierenden Administrator.