LDAP Zugiffe im Verzeichnis

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
alex99
Beiträge: 10
Registriert: 26.11.2006 14:05:53

LDAP Zugiffe im Verzeichnis

Beitrag von alex99 » 26.11.2006 14:21:20

Hallo,
wer kennt sich mit LDAP aus?

Folgendes Beispiel:

dc=domain,dc=local
-cn=admin
-cn=manager
-ou=test
-ou=test1
in der slapd.conf steht u.a folgendes:
access to *
by dn="cn=admin,dc=domain,dc=local" write

Jetzt kann ich mit der Anmeldung cn=admin,dc=domain,dc=local
schreibend auf den kompletten Baum zugreifen.

Jetzt meine Frage:
Wenn ich mit dem "Manager" nur auf "test" schreibend zugreifen will
a) was muss in der slapd.con als access eingetragen werden
b) wie sieht die anmeldung dafuer aus?

Ich habe jetzt den ganzen Tag rumprobiert (mit subtree, children usw.) aber ich kriege es nicht hin.
Ich ware dankbar wenn mich mal einer auf den richtigen Weg bringen wuerde.

Benutzeravatar
McAldo
Moderator
Beiträge: 2069
Registriert: 26.11.2003 11:43:36
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Terra / Sol-System / Milchstraße

Beitrag von McAldo » 26.11.2006 16:15:54

Vielleicht geht das:

Code: Alles auswählen

access to dn.subtree="ou=test,dc=domain,dc=local"
by dn="cn=manager,ou=test,dc=domain,dc=local" write
by * none
Für subtree könnte auch base oder onelevel der richtige Wert sein. Das musst du mal austesten.
Gib bitte Bescheid welches richtig ist und ob es klappt. Am besten auch mit einem [gelöst] in der Titelzeile.

McAldo
Achte auf deine Gedanken, denn sie werden Worte.
Achte auf deine Worte, denn sie werden Handlungen.
Achte auf deine Handlungen, denn sie werden Gewohnheiten.
Achte auf deine Gewohnheiten, denn sie werden dein Charakter.
Achte auf deinen Charakter, denn er wird dein Schicksal.
(Talmud)

alex99
Beiträge: 10
Registriert: 26.11.2006 14:05:53

Beitrag von alex99 » 26.11.2006 17:56:33

Ok, genauso hatte ich es schon.
Dann passiert folgendes:

Ich melde mich z.B. mit phpldapadmin an (cn=manager,dc=domain,=dc=local) oder
(cn=manager,ou=test,dc=domain,dc=local) an.

Das geht auch, aber er meldet "base entry does not exist, create it?

Create geht natuerlich nicht, hat kein Schreibrecht. Der Base Entry ist ja auch schon vorhanden.

Das gilt fuer subtree, base und onelevel, alle durchprobiert.
Ich will eigentlich nur einen zweiten Admin, der aber nur auf bestimmte Bereich zugreifen darf.

alex99
Beiträge: 10
Registriert: 26.11.2006 14:05:53

Beitrag von alex99 » 26.11.2006 18:02:48

Kleiner Nachtrag:

Ich habe sonst keine weiteren access to in der slapd.conf um Fehler auszuschliessen.
Nach Aenderungen starte ich slapd neu.

Benutzeravatar
McAldo
Moderator
Beiträge: 2069
Registriert: 26.11.2003 11:43:36
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Terra / Sol-System / Milchstraße

Beitrag von McAldo » 26.11.2006 18:20:44

Der Manager ist schon im LDAP-Baum vorhanden, oder?

Der muss auch in der slapd.conf stehen:

Code: Alles auswählen

rootdn "uid=manager,ou=test,dc=domain,dc=local "
rootpw {SSHA}/PZZJGcEQyBdudB+JjJwfK
Das Passwort machst du mit ldappasswd. Den Hash komplett mit {SSHA} übernehmen.

Das und die schon geposteten Codezeilen sollten aber funktionieren (jedenfalls bei mir :-) ). Achja, der rootdn muss vor den Accessregeln stehen.


McAldo
Achte auf deine Gedanken, denn sie werden Worte.
Achte auf deine Worte, denn sie werden Handlungen.
Achte auf deine Handlungen, denn sie werden Gewohnheiten.
Achte auf deine Gewohnheiten, denn sie werden dein Charakter.
Achte auf deinen Charakter, denn er wird dein Schicksal.
(Talmud)

alex99
Beiträge: 10
Registriert: 26.11.2006 14:05:53

Beitrag von alex99 » 26.11.2006 18:27:03

Es gibt die Moeglichkeit den Admin in der slapd.conf einzutragen.
(So wie von dir beschrieben)
Mache ich aber nicht.
Der steht mit verschlüsseltem Passwort im ldapbaum unter cn=admin.
Der funktioniert soweit auch. (Kann man per .ldif im Baum eintragen).

Mit dem Manager habe ich das genauso gemacht.

Kann man den alternativ ueberhaupt beliebig viele rootdn in der
slapd.conf eintragen? Ich haette gedacht das das nicht geht.

Benutzeravatar
McAldo
Moderator
Beiträge: 2069
Registriert: 26.11.2003 11:43:36
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Terra / Sol-System / Milchstraße

Beitrag von McAldo » 26.11.2006 19:01:17

Der Defaultadmin (cn=admin,dc=localdomain) steht direkt im Verzeichnisbaum. Mit rootdn kann man weitere Admins eintragen, welche dann entsprechenden Zugriff bekommen können. Ob diese funktionieren wenn sie nur im LDAP-Verzeichnis stehen weiß ich nicht, da ich das nur mit Einträgen in der slapd.conf mache. Es funktioniert. :-)


McAldo
Achte auf deine Gedanken, denn sie werden Worte.
Achte auf deine Worte, denn sie werden Handlungen.
Achte auf deine Handlungen, denn sie werden Gewohnheiten.
Achte auf deine Gewohnheiten, denn sie werden dein Charakter.
Achte auf deinen Charakter, denn er wird dein Schicksal.
(Talmud)

alex99
Beiträge: 10
Registriert: 26.11.2006 14:05:53

Beitrag von alex99 » 26.11.2006 19:36:58

Ok, ich test weiter ;-)

Was komisch ist:
wenn ich per .ldif einmal den admin als cn und dann den manager (auch per .ldif, als cn) eintrage, dann kann ich mich mit
access to *
by dn="cn=admin,dc=domain,dc=local" write
by dn="cn=manager,dc=domain,dc=local" write
in der slapd.conf mit beiden anmelden und habe schreibrecht auf den ganzen Baum.

Wenn ich aber die zweite zeile aendere in:
by dn.subtree="cn=manager,ou=test,dc=domain,dc=local" write
dann kann ich mich mit Manager nicht anmelden.

Bin ich einfach zu bloede? (Ihr koennt offen antworten)

Benutzeravatar
McAldo
Moderator
Beiträge: 2069
Registriert: 26.11.2003 11:43:36
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Terra / Sol-System / Milchstraße

Beitrag von McAldo » 26.11.2006 19:48:53

by dn.subtree="..."

Was soll das werden?

Das kommt bei access to hin (wie von mir weiter oben schon geschrieben)

Wenn der DN des zugreifenden Nutzers geschrieben wird, dann ohne Zusätze.


McAldo
Achte auf deine Gedanken, denn sie werden Worte.
Achte auf deine Worte, denn sie werden Handlungen.
Achte auf deine Handlungen, denn sie werden Gewohnheiten.
Achte auf deine Gewohnheiten, denn sie werden dein Charakter.
Achte auf deinen Charakter, denn er wird dein Schicksal.
(Talmud)

alex99
Beiträge: 10
Registriert: 26.11.2006 14:05:53

Beitrag von alex99 » 26.11.2006 19:52:30

OK, ich habe
rootdn "cn=manager,ou=test,dc=domain,dc=local" und
rootpw in die slapd.conf eingetragen.

Geht auch super, allerdings hat der genau die gleichen Schreibrechte wie mein Admin. ;-)
(d.h. er kann auch unter dc=domain,dc=local direkt schreiben, nicht nur unter
ou=test.
Vielleicht geht das auch einfach nicht, die meisten nutzen wohl den Standard,
das der Admin alles darf, die User nur ihre Passwoerter aendern usw.

Ich dachte halt ich kann auch weitere Admins einrichten die nur auf bestimmte
Teile des Baumes schreibend zugreifen duerfen.

Benutzeravatar
McAldo
Moderator
Beiträge: 2069
Registriert: 26.11.2003 11:43:36
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Terra / Sol-System / Milchstraße

Beitrag von McAldo » 26.11.2006 19:55:39

Und was passiert, wenn du folgendes noch in die slapd.conf einträgst:

Code: Alles auswählen

access to dn.subtree="ou=test,dc=domain,dc=local"
by dn="cn=manager,ou=test,dc=domain,dc=local" write
by * read
Achte auf deine Gedanken, denn sie werden Worte.
Achte auf deine Worte, denn sie werden Handlungen.
Achte auf deine Handlungen, denn sie werden Gewohnheiten.
Achte auf deine Gewohnheiten, denn sie werden dein Charakter.
Achte auf deinen Charakter, denn er wird dein Schicksal.
(Talmud)

alex99
Beiträge: 10
Registriert: 26.11.2006 14:05:53

Beitrag von alex99 » 27.11.2006 08:50:34

access to *
by dn="cn=admin,dc=domain,dc=local"

access to dn.subtree="ou=test,dc=domain,dc=local"
by dn="cn=manager,ou=test,dc=domain,dc=local" write

rootdn "cn=manager,ou=test,dc=domain,dc=local" (oder auch cn=manager,dc=dom...)
rootpw xxx

Damit habe ich Schreibzugriff auf alles. (Mit admin und manager)
(Das ist so, sobald ein rootdn in der slapd.conf angegeben ist, egal
mit welchem Teil des Baumes).
----------------------------------------------------------------------------------------
Also schon eher so:

admin.ldif:
dn: cn=admin,dc=domain,dc=local
objectClass: organizationalRole (usw...)
userPassword: xxx

manger.ldif
dn: cn=manager,dc=domain,dc=local (oder auch mit ...ou=test,dc=domain usw.. probiert)
objectClass: organizationalRole (usw...)
userPassword: xxx

mit ldapadd in den Baum eintragen.
Zusammen mit dem acces to dn.subtree con oben kann ich mich
auch anmelden, aber es kommt beim Manager die Meldung:
"base entry does not exist, create it?

Antworten