LDAP-Verzeichnisserver

[stextbox id=“warning“ caption=“Achtung“]Diese Seite befindet sich noch in der bearbeitung – Benutzen auf eigene Gefahr![/stextbox]

__ LDAP-Verzeichnisse stellen eine art globale Datenbank dar. -Die einfachtse Anwendung ist hier z.B. das Führen von Firmen-/ oder Familienweiten Adressbüchern.
Oftmals kennt man dies von den Mailsystemen in Outlook oder Lotus Notes, bei dem man einfach nur den Namen des Mitarbeiters eingeben kann und die e-mail Adresse erscheint. Oder die "Who-is-who" Verzeichnisse, bei denen man die Telefonnummern, Foto, usw. von anderen mitarbeitern nachschlagen kann.

Doch mit LDAP lässt sich noch viel mehr machen. Man kann sozusagen das gesammte inventar in einem LDAP-Verzeichniss speichern und interessante Web-Anwendungen damit machen.

Wir werden hier jetzt auf Debian-etch einen solchen LDAP-Server installieren und in anderen Tutorials spezifisch erweitern (z.B. für SAMBA).

Zusätzlich wird mit phpLDAPadmin noch eine schöne Web-Administraions Oberfläche aufgesetzt. __

Inhalt

Vorbemerkungen

Unter Debian genügen die "apt-get install" aufrufe, da dort alle Abhängigkeiten automatisch installiert werden. Für andere Distributionen hier die Pakete die benötigt werden; diese kann man sich seperat downloaden und dann z.B. mit "rpm -ihv [paket]" installieren.

Grundinstallation des LDAP Dienstes

Benötigte Software-Pakete

Main Pakages

  • libiodbc2
  • libldap-2.3-0 libslp1
  • libslp1

Dependencies

  • make, gcc, gcc++
  • gengetopt libpopt-dev python-crypto
  • libpopt-dev
  • python-crypto

Installation

Zunächst mal die abhängikeiten installieren (kann nicht verkehrt sein g):

apt-get install make gcc gcc++ gengetopt libpopt-dev python-crypto

Dann LDAP selbst:

apt-get install slapd ldap-utils

Nun müssen wir den noch rekonfigurieren:

dpkg-reconfigure slapd

Die Fragen werden nun wie folgt beantwortet:
<SMALL>Hinweis: Der DNS-Name kann auch etwas anderes sein, z.B. ‚fileserver.home.meinName.tld‚</SMALL>

Soll die OpenLDAP-Server-Konfiguration ausgelassen werden?: Nein
DNS Name: samba.local
Name seiner Organisation: samba.local
Admin Kennwort: 123456
Kennwort wiederholen: 123456
Zu verwenden Datenbankmaschine : BDB
soll die Datenbank entfernt werden, wenn slapd vollständig gelöscht wird?: Nein
Es möchte die alte Datenbank verschieben: Ja__
LDAPV2: Nein

Testen kann man das ganze nun mit:

ldapsearch -x -b "dc=samba,dc=local"

(oder halt der DNS Name, den ihr eingegeben habt)

Dabei sollte sowas rauskommen:

# extended LDIF
#
# LDAPv3
# base with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#
 
# samba.local
dn: dc=samba,dc=local
objectClass: top
objectClass: dcObject
objectClass: organization
o: samba.local
dc: samba
 
# admin, samba.local
dn: cn=admin,dc=samba,dc=local
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: LDAP administrator
 
# search result
search: 2
result: 0 Success
 
# numResponses: 3
# numEntries: 2

Nun müssen wir noch den apache2-webserver installieren (für die Weboberfläche):

apt-get install apache2

Und schliesslich die Weboberfläche selbst 😉 :

apt-get install phpldapadmin

Nun kann man sich unter: http://IP-DES-SERVERS/phpldapadmin anmelden und Einträge hinzufügen.

Auf diese kann man nun ganz einfach mit Thunderbird, Outlook, usw. zugreifen.
Hier die Schritte für Thunderbird:
# Extras – Adressbuch
# Extras – Einstellungen
# Unter "Verfassen" die Registerkarte "Adressieren" wählen
# Häckchen bei "LDAP-Verzeichnisserver", dann "Anpassen" drücken
# "Hinzufügen" wählen
# Daten Eingeben, z.B. LDAP-Server / 10.0.0.3 / cn=admin,dc=samba,dc=local

Für ein Adressbuch reicht dies bereits aus. Wer bereits SAMBA als Domaincontroller einsetzt interessiert sich vielleicht auch für die nächsten Schritte, wenn wir LDAP in SAMBA integrieren.

Logging einrichten

Standardmässig werden die LDAP-Meldungen ins syslog geloggt. Da man aber besonders beim deubbgen extrem viele Meldungen bekommt, möchte man besser ein eigenes Logfile dafür haben.
Dazu muss man in syslog-deamon nur den Eintrag: "local4" konfigurieren:

touch /var/log/ldap.log
chown openldap:openldap /var/log/ldap.log
echo "local4.*				/var/log/ldap.log" >> /etc/syslog.conf
/etc/init.d/sysklogd restart && /etc/init.d/slapd restart

Die Meldungen des LDAP-Servers werden nun unter: /var/log/ldap.log gespeichert.

Integration in einen SAMBA Server

Dieses Tutorial geht davon aus, dass ein SAMBA Domaincontroller bereits nach dem Linux Fileserver Tutorial einsatzbereit läuft.

LDAP Anpassungen

Zusätzliche Software

Für die Installation von PAM mit OpenLDAP werden noch die folgenden Pakete beötigt: libnss-ldap, libpam-ldap und nscd.

apt-get install libnss-ldap libpam-ldap nscd

Die folgenden Fragen wie folgt beantworten:

Make local root Database admin: Ja
Does the LDAP database require login: Nein
Root login account: cn=admin,dc=samba-ldap,dc=local
Root login password: samba-ldap
Local crypt to use when changing passwords: crypt

LDAP Server host: 127.0.0.1
The distinguished name of the search base: dc=samba-ldap,dc=local
LDAP version to use: 3
Datenbank benötigt Login: Nein
Konfiguration nur für den Eigentümer les-/schreibbar machen: Ja

Nun muss noch der NSCD-Dienst gestartet werden:

/etc/init.d/nscd start

Nun können wir LDAP an SAMBA anpassen. Dazu generieren wir als erstes mal ein Verschlüsseltes LDAP-Passwort:

slappasswd

Die Ausgabe, etwas wie: " {SSHA}EDmTvpZ56jZAOelNPBR4MwReReHNJXo+" können wir gleich in die Zwischenablage kopieren.

Nun das File: /etc/ldap/slapd.conf öffnen und die 2 Zeilen rootdn/rootpw ändern/einfügen (rootpw ist das Passwort, dass wir vorhin erstellt haben):

rootdn "cn=admin,dc=samba-ldap,dc=local"
rootpw {SSHA}EDmTvpZ56jZAOelNPBR4MwReReHNJXo+

Da wir für unsere Anwendung ganz andere Zugrissrechte als die Standardmässigen benötigen, schiessen wir die folgenden am besten gleich raus:

 access to attrs=userPassword
 by dn="cn=admin,dc=samba-ldap,dc=local" write
 by anonymous auth
 by self write
 by * none
 
access to dn.base="" by * read
 
access to *
 by dn="cn=admin,dc=samba-ldap,dc=local" write
 by * read

Dafür setzten wir nun diese ein:

 access to attrs=userPassword
 by self write
 by anonymous auth
 by * none
 
access to attrs=sambaLMPassword
 by self write
 by anonymous auth
 by * none
 
access to attrs=sambaNTPassword
 by self write
 by anonymous auth
 by * none
 
access to *
 by * read

Dann muss noch die Zeile:

index objectClass eq

ersetzt werden durch:

index objectClass,uidNumber,gidNumber eq
index cn,sn,uid,displayName pres,sub,eq
index memberUid,mail,givenname eq,subinitial
index sambaSID,sambaPrimaryGroupSID,sambaDomainName eq

Nun können wir diese Datei schliessen und dafür: /etc/default/slapd öffnen.

Dort ersetzen wir:

SLAPD_OPTIONS=""

in

SLAPD_OPTIONS="-4"

, speichern und schliessen die Datei und öffnen: /etc/ldap/ldap.conf.

Hier tragen wir noch HOST, BASE und URI ein:

 HOST 127.0.0.1
BASE dc=samba-ldap,dc=local
URI ldap://localhost:389

SAMBA Anpassungen

Zusätzliche Software

Als erstes müssen wir nun noch die samba-Dokumentation, die smbldap-tools, sowie das Tool: "mkntpwd" installieren; letzteres ist dazu da NT-Passwörter zu kreieren.

apt-get install samba-doc

Dann noch einige LDAP-Tools:

apt-get install smbldap-tools

Um die funktionstüchtigkeit von den sambaldap-tools zu gewärleisten, müssen noch einige Perl-Module installiert werden:

apt-get install libnet-ldap-perl libcrypt-smbhash-perl libunicode-maputf8-perl libio-socket-ssl-perl libdigest-sha1-perl

Dazu müssen wir noch die smbldap-tools configfiles kopieren:

gunzip -c /usr/share/doc/smbldap-tools/examples/smbldap.conf.gz > /etc/smbldap-tools/smbldap.conf
cp -pv /usr/share/doc/smbldap-tools/examples/smbldap_bind.conf /etc/smbldap-tools/smbldap_bind.conf

Nach dem wir alle Perl-Module installiert haben, können wir einen Test der sambaldap-tools machen:

smbldap-usershow

Kommt nun folgende Ausgabe, hat die Installation des sambaldap Tools und die Installation der Perl Module funktionert:

(c) Jerome Tournier - IDEALX 2004 (<a href="http://www.idealx.com)-" target="blank">http://www.idealx.com)-</a> Licensed under the GPL
Usage: /usr/local/sbin/smbldap-usershow [-?] username
    -? show this help message

mkntpwd muss kompiliert werden:

$ cd /opt/
wget <a href="http://www.silcom.com.pe/soft/mkntpwd.tar.gz" target="blank">http://www.silcom.com.pe/soft/mkntpwd.tar.gz</a>
tar -zxf mkntpwd.tar.gz
cd mkntpwd
make
cp mkntpwd /usr/local/bin

Testen mit:

mkntpwd

Ausgabe:

# mkntpwd
Usage: mkntpwd [-L lanmgrpwd] [-N ntpasswd]
       mkntpwd password
       mkntpwd -f [-] [filename]
 
     -L lanmgrpasswd  LanManager cleartextpwd <= 14 chars
     -N ntpasswd      NT cleartextpwd <=128 chars (usually <=14)
 
     with both options present the encrypted LanManager-Pwd is
     printed first, followed by a ':' and the encrypted NT-Pwd.
 
     The second usage behaves like mkntpwd -L pwd -N pwd
 
     The third usage reads the password from STDIN or a File. Printout
     is the same as second.
 
anton@genua.de

smbldap-tools Konfiguration

Nun können wir die smbldap-tools konfigurieren.

Als erstes müssen wir die so genannte SID unserer Domäne ermitteln. Diese wird bei jeder Domäne anders aussehen, deswegen nicht wundern wenn Ihr eine andere habt als hier angegeben.

net getlocalsid SAMBA-LDAP

SID for domain SAMBA-LDAP is: S-1-5-21-2856778860-2055491937-1446371655

Diese SID müssen wir jetzt in die smbldap.conf einfügen:

/etc/smbldap-tools/smbldap.conf

Dort suchen wir jetzt nach dem SID Eintrag und löschen das Beispiel von IDEALIX.ORG raus und tragen dafür unseren ein:

SID="Eure SID"

Als nächstes müssen wir den Wert sambaDomain in dieser Datei auf unsere Domäne so wie in der smb.conf angegeben abändern:

sambaDomain="SAMBA-LDAP"

Wir verwenden in diesem HowTo keine Verschlüsselung und somit können wir ldapTLS auf = 0 setzen.

ldapTLS="0"

Für die Installation benötigen die smbldap-tools noch unseren LDAP Suffix:

suffix="dc=samba-ldap,dc=local"

Wie in der smb.conf angegeben verwalten wir die Computer Accounts im SubTree Machines. Aus diesem Grund müssen wir noch den computersdn ändern:

computersdn="ou=Machines,${suffix}"

Um herauszufinden welche UnixIDs noch frei sind müssen wir noch angeben in welchen Domain Pools nach freien IDs suchen soll:

sambaUnixIdPooldn="sambaDomainName=SAMBA-LDAP,${suffix}"

Da wir schon in der smb.conf schon angeben haben wo sich das Home Verzeichnis der Benutzer befindet können wir den Wert userSmbHome auf „“ setzen.

userSmbHome=""

Das gleiche auch mit den Benutzerprofilen:

userProfile=""

Nun hinterlegen wir noch den Laufwerksbuchstaben für das Persönliche Laufwerk:

userHomeDrive="H:"

Da auch die smbldap-tools wissen müssen in welchem Server die Daten gespeichert warden sollen, tragen wir jetzt in die /etc/smbldap-tools/smbldap_bind.conf die benötigten Werte ein.

/etc/smbldap-tools/smbldap_bind.conf

Die vorhanden Daten ersetzen wir gegen:

slaveDN="cn=admin,dc=samba-ldap,dc=local"
slavePw="samba-ldap"
masterDN="cn=admin,dc=samba-ldap,dc=local"
masterPw="samba-ldap"

Nun gehts ans anpassen der Samba-Config.
<EM>Achtung: </EM>Wenn ihr den Samba-Server schon produktiv im einsatz habt am besten ein Backup der smb.conf machen: cp -pv /etc/samba/smb.conf /etc/samba/smb.conf.noldap! -Dann könnt ihr, falls was schief geht durch austauschen der smb.conf.noldap wieder die alte Funktionalität herstellen.

Folgende zusätzliche Änderungen sind nun in die /etc/samba/smb.conf Einzutragen:

# Password Backend
passdb backend = ldapsam:ldap://127.0.0.1/
 # Samba Tools zur Verwaltung der Benutzer, Gruppen und Computerkonten im LDAP
 
add user script = /usr/local/sbin/smbldap-useradd –m –a “%u”
delete user script = /usr/local/sbin/smbldap-userdel “%u”
add group script = /usr/local/sbin/smbldap-groupadd –p “%g”
delete group script = /usr/local/sbin/smbldap-groupdel “%g”
add user to group script = /usr/local/sbin/smbldap-groupmod –m “%u” “%g”
delete user from group script = /usr/local/sbin/smbldap-groupmod –x “%u””%g”
set primary group script = /usr/local/sbin/smbldap-usermod –g “%u” “%g”
add machine script = /usr/local/sbin/smbldap-useradd –w “%u”
# LDAP werte für den Zugriff von Samba auf die LDAP Datenbank
 
ldap admin dn = cn=admin,dc=samba-ldap,dc=local
ldap delete dn = Yes
ldap user suffix = ou=Users
ldap group suffix = ou=Groups
ldap machine suffix = ou=Machines
ldap passwd sync = Yes
ldap suffix = dc=samba-ldap,dc=local
ldap ssl = no
host msdfs = Yes
# Administratoren des Servers – alle Aktionen warden mit dem Systembenutzer root
# ausgeführt
 
admin users = root, Administrator

Damit LDAP auch weiß, wie es mit Samba Benutzern und seinen Passwörtern umzugehen hat müssen wir jetzt noch das samba Schema entpacken und in der slapd.conf eintrage.

gunzip –c  /usr/share/doc/samba-doc/examples/LDAP/samba.schema.gz > /etc/ldap/schema/samba.schema

In der Datei slapd.conf im /etc/ldap/ Verzeichniss tragen wir nach den vorhanden Schemas noch das samba.schema ein, wie unten zu sehen ist.

# Schema and objectClass definitions
include /etc/ldap/schema/core.schema
include /etc/ldap/schema/cosine.schema
include /etc/ldap/schema/nis.schema
include /etc/ldap/schema/inetorgperson.schema
include /etc/ldap/schema/samba.schema

Damit der smbd und LDAP auch miteinander Kommunizieren können und dürfen muss noch das admin Kennwort in der secrets.tdb hinterlegt werden. Dies geschieht durch den smbpasswd Befehl mit der Option –w.
Das Passwort muss natürlich angepasst werden.

smbpasswd -w samba-ldap

Ausgabe:
"Setting stored password for "cn=admin,dc=samba-ldap,dc=local" in secrets.tdb"

Systen Anpassen / PAM-NSS

Testumgebung einrichten

Wenn man einen Produktiven SAMBA-PDC auf LDAP authentifizierung upgraded, kann es in der Anfangsphase häufig zu Problemen kommen, so dass ein login an der Domäne teilweise gar nicht mehr möglich ist.

Hat man also keine Testumgebung zur Verfügung, bzw. arbeiten schon user an der Domäne, muss man diese quasi auf "knopfdruck" wieder zur alten Konfiguration herstellen können.
Ich habe mir zu diesem zeck von jedem configfile, dass verändert wird 2 Kopien gemacht: Eine ldap-version und eine noldap-Version. Mit 2 kleinen Scripts setze ich jeweils links auf diese Versionen. Die noldap-Version habe ich zudem mit dem "immutable" attribut ausgestattet, damit sicher gestellt wird, dass diese nicht verändert werden kann.

So richtet man sich eine solche Umgebung ein:

pam.d-Verzechnis auserhalb des /etc kopieren:

cp -pRv /etc/pam.d /root/ldap-pam

2 Versionen der Files anlegen:

cp -pv /root/ldap-pam/common-account /root/ldap-pam/common-account.ldap
cp -pv /root/ldap-pam/common-account /root/ldap-pam/common-account.noldap
 
cp -pv /root/ldap-pam/common-auth /root/ldap-pam/common-auth.ldap
cp -pv /root/ldap-pam/common-auth /root/ldap-pam/common-auth.noldap
 
cp -pv /root/ldap-pam/common-password /root/ldap-pam/common-password.ldap
cp -pv /root/ldap-pam/common-password /root/ldap-pam/common-password.noldap
 
cp -pv /root/ldap-pam/common-session /root/ldap-pam/common-session.ldap
cp -pv /root/ldap-pam/common-session /root/ldap-pam/common-session.noldap
 
cp -pv /root/ldap-pam/login /root/ldap-pam/login.ldap
cp -pv /root/ldap-pam/login /root/ldap-pam/login.noldap
 
cp -pv /etc/samba/smb.conf /etc/samba/smb.conf.ldap
cp -pv /etc/samba/smb.conf /etc/samba/smb.conf.noldap

Funktionierende Config unveränderbar machen:

chattr -V +i /root/ldap-pam/*.noldap
chattr -V +i /etc/samba/smb.conf.noldap

Scripts schreiben:
vi /root/ldapon.sh

ln -vs /root/ldap-pam/common-account.ldap /etc/pam.d/common-account
ln -vs /root/ldap-pam/common-auth.ldap /etc/pam.d/common-auth
ln -vs /root/ldap-pam/common-password.ldap /etc/pam.d/common-password
ln -vs /root/ldap-pam/common-session.ldap /etc/pam.d/common-session
 
ln -vs /root/ldap-pam/login.ldap /etc/pam.d/login
 
ln -vs /etc/samba/smb.conf.ldap /etc/samba/smb.conf
 
/etc/init.d/samba restart

vi /root/ldapoff.sh

ln -vs /root/ldap-pam/common-account.noldap /etc/pam.d/common-account
ln -vs /root/ldap-pam/common-auth.noldap /etc/pam.d/common-auth
ln -vs /root/ldap-pam/common-password.noldap /etc/pam.d/common-password
ln -vs /root/ldap-pam/common-session.noldap /etc/pam.d/common-session
 
ln -vs /root/ldap-pam/login.noldap /etc/pam.d/login
 
ln -vs /etc/samba/smb.conf.noldap /etc/samba/smb.conf
 
/etc/init.d/samba restart

Scripts ausführbar machen:

chmod 755 /root/ldapon.sh
chmod 755 /root/ldapoff.sh

So kann ich einerseits die "normalen" configdateien in /etc/pam.d bearbeiten (da sie ja nur links sind) nicht ausversehen die "falschen" editieren (da sie unveränderbar sind) und mittels /.ldapon.sh, bzw. /.ldapoff.sh jederzeit die LDAP-, oder die (funktionierende) nicht-LDAP Umgebung aufrufen.

Hinweis: Läuft die LDAP-Konfiguration sollte man die links unter /etc/pam.d/ löschen und stattdessen die *.ldap Files wieder Zurück kopieren.

So, nun werden die Security-Module des Systems noch so konfiguriert, dass auch das ganze Linux System die Infos zuerst aus der LDAP-Datenbank liesst.
<EM>Achtung:</EM> Damit wird ggf. das /etc/passwd /etc/groups und /etc/shadow System ungültig! -Die User/PW Daten sind dann alle in der LDAP Datenbank!

Daher erfolgt hier zu einigen der zu bearbeitenden Dateien eine genauere Beschreibung; es ist sehr wichtig zu wissen, was ihr hier ändert!

PAM common settings für alle Services
<SMALL>PAM steht für "Pluggable Authentication Modules". Diese regeln unter Linux den Modus für die Zugriffs-Liste. Standardmässig werden bei einem Unix-System die Benutzer-Infos aus den Dateien: /etc/passwd /etc/groups und /etc/shadow gelesen.
Diese kann man aber im PAM Modul ändern, so dass die Infos z.B. auch aus einer mysql, oder eben LDAP Datenbank (oder beiden) geholt werden können.
Es gilt grundsätzlich, dass zuerst der erste Eintrag in der Reihenfolge abgefragt wird, dann der Zweite, dann der dritte, usw.
D.h. wenn ich einem PAM File angebebe, dass die User-Authentifizierung über LDAP, mysql, passwd erfolgen soll, wird bei einem Login erst das LDAP verzeichnis abgefragt; findet sich die Info darin erfolgt das Login, falls nicht wird die mysql, dann das passwd-file, usw. abgefragt. Ist die Information in allen angegebenen sourcen nicht verfügbar wird eine "login failed" fehlermeldung ausgegeben.</SMALL>

/etc/pam.d/
<SMALL>Im Verzeichnis /etc/pam.d werden die Konfigurationsdateien für jeden Service gespeichert, der die PAM Module nutzt. In unserem Fall also z.B. samba/ldap.</SMALL>

/etc/pam.d/common-account
<SMALL>Das Account Modul regelt ob und wie sich ein benutzer einloggen kann und schaut z.B. nach ob das PW abgelaufen ist, er sich nur zu bestimmten tagen einloggen darf oder ob er sich remote bzw. über die Konsole anmeldet, usw.</SMALL>

account     required        pam_unix.so
account     sufficient      pam_ldap.so

/etc/pam.d/common-auth
<SMALL>Im Auth-Modul wird geprüft ob es den Benutzer gibt, dieser ein gültiges Passwort eingegeben hat und zu welcher Gruppe dieser gehört. (Standardmässig sind das die Files: /etc/passwd, /etc/shadow und /etc/group)</SMALL>

auth    sufficient     pam_unix.so nullok_secure
auth    sufficient     pam_ldap.so use_first_pass
auth    required       pam_deny.so

/etc/pam.d/common-password
<SMALL>Dieses Modul regelt das updaten/ändern des User-Passworts</SMALL>

password        sufficient      pam_unix.so nullok obscure min=4 max=8 md5
password        sufficient      pam_ldap.so use_first_pass use_authtok
password        required        pam_deny.so

/etc/pam.d/common-session
<SMALL>Dinge die getan werden, bevor der Benutzer sich einloggt; dies sind z.B. das Mounten von User-Spezifischen verzeichnissen, Umgebungsvariablen, usw.</SMALL>

session     required        pam_unix.so
session     optional         pam_ldap.so

/etc/nsswitch.conf
<SMALL>Diese Datei enthält die Sourcen wo bestimmte system-calls ihre Informationen abrufen. Die Shell kann sich z.B. die Passwörter von Files oder Datenbanken holen, die Namensauflösung vom DNS-Server, usw.</SMALL>

passwd: compat ldap
group: compat ldap
shadow: compat ldap

NSS anpassen

/etc/libnss-ldap.conf

~ Zeile: 50

rootbinddn cn=admin,dc=samba-ldap,dc=local

~ Zeile: 179

nss_base_passwd ou=Users,dc=samba-ldap,dc=local?one
nss_base_passwd ou=Machines,dc=samba-ldap,dc=local?one
nss_base_shadow ou=Users,dc=samba-ldap,dc=local?one
nss_base_group ou=Groups,dc=sama-ldap,dc=local?one

~ Zeile: 217

pam_password md5

~ Zeile: 275

ssl no

Nun haben wire s fast geschaft. Jetzt müssen wir nur noch die Grunddaten in die LDAP Datenbank schreiben.

Da bei manchen Installationen beim ersten Start nach der Installation nur fehlerhafte Daten in die Datenbank geschrieben werden, werden wir diese erstmal stoppen und dann löschen. Nach einem erfolgreichen löschen der Daten müssen wir allerdings vor dem Eintragen unserer Daten die LDAP Datenbank wieder starten.

debain-pdc:~# /etc/init.d/slapd stop
debian-pdc:~# rm /var/lib/ldap/.
debian-pdc:~# /etc/init.d/slapd start

Nun ist die Datenbank soweit vorbereitet damit wir unsere Daten mit smbldap-populate einspielen:

smbldap-populate

Ausgabe:

Populating LDAP directory for domain SAMBA-LDAP
(S-1-5-21-2856778860-2055491937-1446371655)
(using builtin directory structure)
 
adding new entry: dc=samba-ldap,dc=local
adding new entry: ou=Users,dc=samba-ldap,dc=local
adding new entry: ou=Groups,dc=samba-ldap,dc=local
adding new entry: ou=Machines,dc=samba-ldap,dc=local
adding new entry: ou=Idmap,dc=samba-ldap,dc=local
adding new entry: uid=root,ou=Users,dc=samba-ldap,dc=local
adding new entry: uid=nobody,ou=Users,dc=samba-ldap,dc=local
adding new entry: cn=Domain Admins,ou=Groups,dc=samba-ldap,dc=local
adding new entry: cn=Domain Users,ou=Groups,dc=samba-ldap,dc=local
adding new entry: cn=Domain Guests,ou=Groups,dc=samba-ldap,dc=local
adding new entry: cn=Domain Computers,ou=Groups,dc=samba-ldap,dc=local
adding new entry: cn=Administrators,ou=Groups,dc=samba-ldap,dc=local
adding new entry: cn=Account Operators,ou=Groups,dc=samba-ldap,dc=local
adding new entry: cn=Print Operators,ou=Groups,dc=samba-ldap,dc=local
adding new entry: cn=Backup Operators,ou=Groups,dc=samba-ldap,dc=local
adding new entry: cn=Replicators,ou=Groups,dc=samba-ldap,dc=local
adding new entry: sambaDomainName=SAMBA-LDAP,dc=samba-ldap,dc=local
 
Please provide a password for the domain root:
Changing password for root
New password : samba-ldap
Retype new password : samba-ldap

Jetzt können wir den smbd Final neustarten und versuchen auf die Freigaben zu zugreifen.

/etc/init.d/samba restart

Related Links

|| Link | Beschreibung
[http://www.openldap.org/|openldap.org] | Der bekannte LDAP Server für Linux, Dokumentation
[http://www.yolinux.com/TUTORIALS/LinuxTutorialLDAP.html|YoLinux LDAP Tutorial] | Gutes tutprial mit lauffähigem Beispiel
[http://www.pro-linux.de/t_office/openldap-adressbuch.html|Openldap Adressbuch] | Infos für die integration in Outlook/Thunderbird/etc. Clients
[http://www.linux-magazin.de/heft_abo/ausgaben/2001/05/straffe_verwaltung|Linux-Magazin: OpenLDAP Praxis] | Einige interessante Info szum Aufbau von LDAP Servern
[http://www.samba-ldap.de/|samba-ldap.de] | Eine Ganze Webseite, die sich mit dem Thema beschäftigt
||

Related Downloads

|| File | Beschreibung
[http://phpldapadmin.sourceforge.net/|phpLDAPadmin] | Sehr schöne Weboberfläche für die Administration von LDAP-Servern
[http://www-unix.mcs.anl.gov/~gawor/ldap/|LDAPBrowser] | JAVA LDAP-Browser um die LDAP-Verbindung zu testen und Einträge zu Erstellen; klappt damit manchmal besser als mit dem Web-Tool!
||

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert