• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

openLDAP Abfrage

Slashwalker

Winterbanana
Registriert
15.05.06
Beiträge
2.213
Hallo ATler,
ich habe mir auf einem Linux Server einen openLDAP Server installiert und mit phpLDAPadmin ein paar Einträge angelegt.

Wenn ich die Einträge nun mittels ColdFusion abfrage, steht bei userPassword immer [empty String].Es wurde aber für jeden Benutzer ein Passwort angelegt.

Zur Abfrage nutze ich den rootdn, dieser sollte doch alles lesen/schreiben dürfen.

Ohne userPassword macht der ganze Server keinen Sinn, da ich darüber den Login in ein Intranet realisieren wollte.

Muss man da noch was an der slapd.conf ändern?

Code:
#
# See slapd.conf(5) for details on configuration options.
# This file should NOT be world readable.
#
include         /usr/local/etc/openldap/schema/core.schema

# Define global ACLs to disable default read access.

# Do not enable referrals until AFTER you have a working directory
# service AND an understanding of referrals.
#referral       ldap://root.openldap.org

pidfile         /usr/local/var/run/slapd.pid
argsfile        /usr/local/var/run/slapd.args

# Load dynamic backend modules:
# modulepath    /usr/local/libexec/openldap
# moduleload    back_bdb.la
# moduleload    back_hdb.la
# moduleload    back_ldap.la

# Sample security restrictions
#       Require integrity protection (prevent hijacking)
#       Require 112-bit (3DES or better) encryption for updates
#       Require 63-bit encryption for simple bind
# security ssf=1 update_ssf=112 simple_bind=64

# Sample access control policy:
#       Root DSE: allow anyone to read it
#       Subschema (sub)entry DSE: allow anyone to read it
#       Other DSEs:
#               Allow self write access
#               Allow authenticated users read access
#               Allow anonymous users to authenticate
#       Directives needed to implement policy:
# access to dn.base="" by * read
# access to dn.base="cn=Subschema" by * read
# access to *
#       by self write
#       by users read
#       by anonymous auth
#
# if no access controls are present, the default policy
# allows anyone and everyone to read anything but restricts
# updates to rootdn.  (e.g., "access to * by * read")
#
# rootdn can always read and write EVERYTHING!

#######################################################################
# BDB database definitions
#######################################################################

database        bdb
suffix          "dc=example,dc=de"
rootdn          "cn=admin,dc=example,dc=de"
# Cleartext passwords, especially for the rootdn, should
# be avoid.  See slappasswd(8) and slapd.conf(5) for details.
# Use of strong authentication encouraged.  
rootpw          {SSHA}fNsxuy+hg7pIw2gawmPwpAdLfuUt5Hs9
# The database directory MUST exist prior to running slapd AND
# should only be accessible by the slapd and slap tools.
# Mode 700 recommended.
directory       /usr/local/var/openldap-de
# Indices to maintain
index   objectClass     eq  

#######################################################################
# BDB database definitions
#######################################################################

database        bdb
suffix          "dc=example,dc=com"
rootdn          "cn=root,dc=example,dc=com"
# Cleartext passwords, especially for the rootdn, should
# be avoid.  See slappasswd(8) and slapd.conf(5) for details.
# Use of strong authentication encouraged.
rootpw          {SSHA}fNsxuy+hg7pIw2gawmPwpAdLfuUt5Hs9
# The database directory MUST exist prior to running slapd AND
# should only be accessible by the slapd and slap tools.
# Mode 700 recommended.
directory       /usr/local/var/openldap-com
# Indices to maintain
index   objectClass     eq
 

tjp

Altgelds Küchenapfel
Registriert
07.07.04
Beiträge
4.059
Das Überprüfen des Nutzersaccounts erfolgt immer so, daß mittels des vom Nutzer eingegebenen Passwortes sich am LDAP Server angemeldet wird. Dazu darf das Passwort nur als Vergleichbar definiert sein für diese Accounts.

Man benutzt den Root Account des LDAP-Servers im Betrieb nicht für das Abfragen von Passwörter! Sonder man verwaltet den Server nur über diesen Account.

Ergänze mal am Ende folgendes

access to *
by self write
by users read
by anonymous auth
 
  • Like
Reaktionen: Slashwalker

Slashwalker

Winterbanana
Registriert
15.05.06
Beiträge
2.213
Japp, funktioniert nun.

access to *
by self write
by users read
by anonymous auth

Bei beiden Domains eingetragen und nun kann ich mich auch als normaler User anmelden.
 
Zuletzt bearbeitet:

tjp

Altgelds Küchenapfel
Registriert
07.07.04
Beiträge
4.059
Man kann das ganze noch verfeinern, in dem man folgendes davor setzt.

access to attrs=userPassword by dn="cn=admin,dc=example,dc=de" write
access to attrs=userPassword by anonymous auth
access to attrs=userPassword by self write
access to attrs=userPassword by * none

Das setzt die Rechte für das wichtige Attribute userPassword so, daß nur die Nutzer ihr eigenes Passwort ändern können und sie es sehen können. Der Admin hat Zugriff auf alle Attribute, der Rest sieht nichts.