User für Userverwaltung

german

#1

Hallo liebe Univention Forums Leser.

Ich möchte auf einem UCS-Master einen Benutzer anlegen, dem es möglich sein soll Benutzer und Gruppen über die UMC zu verwalten. Zu den Domain-Admins möchte ich den Benutzer nicht hinzufügen, da er sonst zu viele Rechte erhält.

In den Cool Solutions habe ich folgenden Artikel gefunden:
http://wiki.univention.com/index.php?title=Cool_Solution_-_Custom_LDAP_ACLs

Beim Artikel habe ich einen kleinen Punkt anzumerken.
Ich zitiere einen kurzen Satz aus dem Block “Create policies for users”:

Create another new entry in the same policy and name it “edit-groups”

Wenn ich einen neuen Eintrag zur Richtlinie hinzufüge kann ich die Richtlinie nicht ein zweites mal benennen. Nur ein kleiner Schönheitsfehler.

Nun zum Problem. Wenn ich nun mit meinem Benutzer einsteige und einen neuen Benutzer anlegen möchte erhalte ich die Fehlermeldung dass der Zugriff verweigert wurde.
Bildschirmfoto von »2017-08-31 16-20-32«

Der Benutzer wird dennoch angelegt. Allerdings ohne Gruppenzugehörigkeiten. Normalerweiße sollten die Benutzer ja zu den Domain Users hinzugefügt werden.
Wenn ich einen bestehenden Benutzer ändern möchte, taucht die Fehlermeldung nicht auf. Da ich vermutlich keine Gruppen bearbeitet habe.

Im Gruppen-Modul konnte ich zuerst gar nichts sehen.
Beim Öffnen tauchte einmalig diese Fehlermeldung auf:
Bildschirmfoto von »2017-08-31 16-13-28«
Nach ein bisschen hin und her Testen und erneutem Anmelden mit meinem Admin-Benutzer taucht die Meldung nicht mehr auf und ich sehe die Gruppen. Dennoch kann ich keine Gruppenzugehörigkeiten bearbeiten. Zugriff verweigert.

Wie kann ich das Problem beheben.
Mein Testsystem ist ein UCS 4.2-1 auf aktuellem Errata Level.

Sollten weitere Infos nötig sein, werde ich diese gerne nachreichen.

LG Basti


#3

Hallo.

Komisch. Der Eintrag von externa1 ist nicht mehr zu sehen.
In der Benachrichtigungsmail habe ich aber gelesen dass ich zwei Richtlinien benötige (entgegen meiner Vermutung - nur eine Richtlinie mit zwei Einträgen).

Ich kann nun die zweite Richtlinie anlegen aber wie soll ich diese dem Benutzer zuordnen? Ich kann ja immer nur eine UMC Richtlinie pro Benutzer einstellen.

Hat sonst noch jemand eine Idee?

LG Basti


#4

Ich würde LDAP Debug aktivieren und schauen, welches Attribut geändert werden soll. man slapd.conf, nach loglevel suchen und per ucr set ldap/debug/level einen Wert für das Debugging aktivieren.


#5

Hallo Herr Gohmann.

Ich habe nun den debug-level vom slapd zuerst auf 128 (für ACL) gesetzt und getestet. Im syslog habe ich hier keine Fehler entdecken können. Hier habe ich nur Einträge mit access_allowed gesehen. Anschließend habe ich es noch mit loglevel -1 getestet. Selbes Ergebnis. Keine Errors.

Anschließend habe ich mir die management-console-module-udm.log angesehen und hier erhalte ich einen Traceback:

13.09.17 14:03:04.873  ADMIN       ( ERROR   ) : Post-Create operation failed: Traceback (most recent call last):
  File "/usr/lib/pymodules/python2.7/univention/admin/handlers/__init__.py", line 814, in _create
    self._ldap_post_create()
  File "/usr/lib/pymodules/python2.7/univention/admin/handlers/users/user.py", line 1991, in _ldap_post_create
    self.__primary_group()
  File "/usr/lib/pymodules/python2.7/univention/admin/handlers/users/user.py", line 1836, in __primary_group
    grpobj.fast_member_add([self.dn], [new_uid])
  File "/usr/lib/pymodules/python2.7/univention/admin/handlers/groups/group.py", line 447, in fast_member_add
    return self.lo.modify(self.dn, ml)
  File "/usr/lib/pymodules/python2.7/univention/admin/uldap.py", line 500, in modify
    raise univention.admin.uexceptions.permissionDenied
permissionDenied

13.09.17 14:03:04.876  ADMIN       ( ERROR   ) : Post-create: remove() failed: Traceback (most recent call last):
  File "/usr/lib/pymodules/python2.7/univention/admin/handlers/__init__.py", line 827, in _create
    self.remove()
  File "/usr/lib/pymodules/python2.7/univention/admin/handlers/__init__.py", line 529, in remove
    return self._remove(remove_childs)
  File "/usr/lib/pymodules/python2.7/univention/admin/handlers/__init__.py", line 1005, in _remove
    self._ldap_pre_remove()
  File "/usr/lib/pymodules/python2.7/univention/admin/handlers/users/user.py", line 2554, in _ldap_pre_remove
    self.sid = self.oldattr['sambaSID'][0]
KeyError: 'sambaSID'

13.09.17 14:03:04.876  MODULE      ( WARN    ) : Failed to create LDAP object: permissionDenied:

Irgendwie stehe ich hier auf dem Schlauch. Für weitere Hinweiße bin ich sehr dankbar.

LG Basti


#6

Es sieht so aus, als ob die Berechtigung fehlt die Gruppenmitglieder zu bearbeiten. Wie sehen die LDAP ACLs denn aus? Am besten die gesamte slapd.conf posten.


#7

Hallo.

Hier meine slapd.conf:
slapd.conf.txt (19.7 KB)

Sollten die Berechtigungen nicht mit folgenden UCR Variablen gesetzt werden?

ucr set ldap/acls/custom/univentionCustomACLReferenceGroupModify/create="yes" 
ldap/acls/temporary_objects/groups=<DN of the group of your user>

LG Basti


#8

Hallo.

Ich muss dieses Thema leider pushen da ich gerne eine Lösung für das Problem hätte.

Gibt es niemanden der diese Anleitung erfolgreich durchgeführt hat?

LG Basti


#9

Hallo,

sollte sich das Problem nicht durch die vordefinierte Gruppe “Account Operators” lösen lassen? Leider hat auch diese keinen Zugriff auf das UMC. -> Was sich leicht mit folgender Anleitung ganz ohne Manipulation der LDAP ACLs lösen lässt.

BG,
meg


#10

Anscheinend nicht. Da die Account Operators anscheinend nur Lesezugriff haben !?