Chrystalsky
22.01.04, 11:43
Moin,
wie einige mitbekommen haben, hatte ich gewisse Probleme mit Ldap. Jetzt habe ich mit der Hilfe von euch alles soweit geschafft :) und habe mir gedacht ich schreibe ein kleines tutorial bzw. einen Erfahrungsbericht, was ich gemacht habe und wie ich das ganze zum laufen gebracht habe. Das Tutorial ist für SuSE 9.0, dürfte aber auch bei anderen Systemen laufen (Pfad anpassen)
Ldap
Installation
Mit Yast das LdapV2-Server, Ldap-devel, nss_ldap und pam_ldap installieren und folgende Änderungen an der Config vornehmen:
/etc/openldap/slapd.conf #Server-Konfigurationsdatei
include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/nis.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/samba.schema
include /etc/openldap/schema/openldap.schema
pidfile /var/run/slapd.pid
argsfile /var/run/slapd.args
database ldbm #bestimmt die Datenbank.
suffix "dc=omeco,dc=de" #bestimmt Base DN (Name des directory)
rootdn "cn=Manager,dc=omeco,dc=de" #bestimmt Admin (root) Namen, Base DN muss dabeistehen
rootpw secret #root Passwort, auch eine Verschlüsselung ist möglich
directory /var/lib/ldap
index objectClass eq
/etc/openldap/ldap.conf #Client-Konfigurationsdatei
host 192.168.1.15 #bestimmt den Ldap-Server
base o=omeco.de #bestimmt Base DN wobei o für organization steht
/etc/ldap.conf #Konfigurationsdatei für Ldap-Namenservice, Pam-Modul, Shadow Paket und NSS
host: 192.168.1.15 #Ldap-Server
base: dc=omeco,dc=de #Anfang der Search Base
ldap_version 3 #Ldap Version die zu verwenden ist
pam_password crypt #aktiviert Unix-Crypt hash mechanism, ansonsten NT Synchronization Service
ssl no #deaktiviert SSL-Unterstützung
nss_base_passwd dc=omeco,dc=de #gibt an, wo sich die einzelnen Werte direkt befinden
nss_base_shadow dc=omeco,dc=de #laut Doku erst ab einer Datenbank von ca 5000 Einträgen
nss_base_group dc=omeco,dc=de #nötig, verringert dann die Suchzeit
/etc/nsswitch.conf #Konfigurationsdatei wo sich Pam auch die Einstellungen holt
passwd: compat ldap #Nur diese zwei Einträge müssen geändert werden
group: compat ldap #wobei "fast" immer SuSE bzw. Yast dies erledigt
Ldap starten, am besten direkt im RunLevel eintragen.
org.ldif anlegen und folgendes eintragen:
dn: dc=omeco,dc=de
objectclass: organization
o: omeco.de
ldapadd -D cn=Manager,dc=omeco,dc=de -x -W -f\ org.ldif
Hier haben wir den Hauptcontainer erstellt.
Der Befehl zum eintragen, ändert sich nicht und wird auch für die nachfolgenden Ldif-Dateien verwendet.
root.ldif anlegen und folgendes eintragen:
dn: cn=Manager,dc=omeco,dc=de
objectClass: organizationalRole
objectClass: top
objectClass: simpleSecurityObject
cn: Manager
description: Root User
userPassword: {crypt}e0tn415VzByrY
dies ist nun der Hauptuser. Das passwort ist unverschlüsselt secret.
groups.ldif anlegen und folgendes eintragen:
dn: ou=groups,dc=omeco,dc=de
objectClass: organizationalUnit
objectClass: top
ou: groups
description: Gruppen
dies ist die Standartgruppe, in der neue User eingetragen werden. Weitere Eintragungen, wie Standartpasswort sind noch möglich
user.ldif anlegen und folgendes eintragen:
dn: ou=people,dc=omeco,dc=de
objectClass: organizationalUnit
objectClass: top
ou: people
dn: cn=Michael B,ou=people,dc=omeco,dc=de
userPassword: 12345
cn: Michael B
gecos: Michael B
gidNumber: 100
homeDirectory: /home/michael
loginShell: /bin/bash
objectClass: top
objectClass: person
objectClass: posixAccount
objectClass: shadowAccount
shadowExpire: -1
shadowFlag: 0
shadowInactive: -1
shadowLastChange: 10877
shadowMax: 999999
shadowMin: 0
shadowWarning: 7
sn: B
uid: michael
uidNumber: 1001
Somit hätten wir unseren ersten User angelegt. Bevor man restartet, sollte man noch die gid (Gruppen ID) nachprüfen, ob diese auch wirklich noch frei ist, bei uid natürlich auch. Dann steht einem ersten Loginversuch nichts mehr im Weg.
Der Restart ist nicht notwendig, man kann auch über die Konsole die einzelnen Dienste neustarten, ich habe die Methode des Neustarts gewählt, um sicher zu sein, dass ich nichts vergesse und weil es einfacher ist/war.
Samba und Ldap
Seit dem Release 2.2.3a von Samba, wird Ldap unterstützt. Leider ist es immernoch notwendig, Samba neu zu kompilieren, damit es mit Ldap lauffähig ist.
Syntax:
./configure -with-ldapsam
make
make install
libldap-dev und libsldapd-dev werden aber dazu benötigt, achtung sind die beiden Dateien nicht vorhanden, so meldet Samba keine Fehlermeldung, mit:
./configure --with-ldapsam | grep ldap
meldet er ldap.h failed, wenn die beiden Dateien nicht vorhanden sind. Dann sollte man nachinstallieren und make clean vor der Neuinstallation durchführen.
Ab Version 3 unter SuSE ist dies nicht mehr notwendig. Bei mir lokal wurden die RPM-Pakete gleich mit ldap-Unterstützung installiert, dies ist aber erst seit SuSE Version 9.0 der Fall.
In der Datei SMB.conf sollten dann folgende Einträge hinzugekommen sein:
/etc/samba/smb.conf
[global]
ldap server = 127.0.0.1
ldap admin dn = cn=Manager,dc=omeco,dc=de
Übernahme der bestehenden User
unter: http://www.padl.com/OSS/MigrationTools.html findet man Shell-Skripte, welche die Übernahme bestehender User in Ldap übernehmen.
Ich hoffe es ist leicht verständlich. Würde mich über ein kleines Feedback freuen.
*greetz*
wie einige mitbekommen haben, hatte ich gewisse Probleme mit Ldap. Jetzt habe ich mit der Hilfe von euch alles soweit geschafft :) und habe mir gedacht ich schreibe ein kleines tutorial bzw. einen Erfahrungsbericht, was ich gemacht habe und wie ich das ganze zum laufen gebracht habe. Das Tutorial ist für SuSE 9.0, dürfte aber auch bei anderen Systemen laufen (Pfad anpassen)
Ldap
Installation
Mit Yast das LdapV2-Server, Ldap-devel, nss_ldap und pam_ldap installieren und folgende Änderungen an der Config vornehmen:
/etc/openldap/slapd.conf #Server-Konfigurationsdatei
include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/nis.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/samba.schema
include /etc/openldap/schema/openldap.schema
pidfile /var/run/slapd.pid
argsfile /var/run/slapd.args
database ldbm #bestimmt die Datenbank.
suffix "dc=omeco,dc=de" #bestimmt Base DN (Name des directory)
rootdn "cn=Manager,dc=omeco,dc=de" #bestimmt Admin (root) Namen, Base DN muss dabeistehen
rootpw secret #root Passwort, auch eine Verschlüsselung ist möglich
directory /var/lib/ldap
index objectClass eq
/etc/openldap/ldap.conf #Client-Konfigurationsdatei
host 192.168.1.15 #bestimmt den Ldap-Server
base o=omeco.de #bestimmt Base DN wobei o für organization steht
/etc/ldap.conf #Konfigurationsdatei für Ldap-Namenservice, Pam-Modul, Shadow Paket und NSS
host: 192.168.1.15 #Ldap-Server
base: dc=omeco,dc=de #Anfang der Search Base
ldap_version 3 #Ldap Version die zu verwenden ist
pam_password crypt #aktiviert Unix-Crypt hash mechanism, ansonsten NT Synchronization Service
ssl no #deaktiviert SSL-Unterstützung
nss_base_passwd dc=omeco,dc=de #gibt an, wo sich die einzelnen Werte direkt befinden
nss_base_shadow dc=omeco,dc=de #laut Doku erst ab einer Datenbank von ca 5000 Einträgen
nss_base_group dc=omeco,dc=de #nötig, verringert dann die Suchzeit
/etc/nsswitch.conf #Konfigurationsdatei wo sich Pam auch die Einstellungen holt
passwd: compat ldap #Nur diese zwei Einträge müssen geändert werden
group: compat ldap #wobei "fast" immer SuSE bzw. Yast dies erledigt
Ldap starten, am besten direkt im RunLevel eintragen.
org.ldif anlegen und folgendes eintragen:
dn: dc=omeco,dc=de
objectclass: organization
o: omeco.de
ldapadd -D cn=Manager,dc=omeco,dc=de -x -W -f\ org.ldif
Hier haben wir den Hauptcontainer erstellt.
Der Befehl zum eintragen, ändert sich nicht und wird auch für die nachfolgenden Ldif-Dateien verwendet.
root.ldif anlegen und folgendes eintragen:
dn: cn=Manager,dc=omeco,dc=de
objectClass: organizationalRole
objectClass: top
objectClass: simpleSecurityObject
cn: Manager
description: Root User
userPassword: {crypt}e0tn415VzByrY
dies ist nun der Hauptuser. Das passwort ist unverschlüsselt secret.
groups.ldif anlegen und folgendes eintragen:
dn: ou=groups,dc=omeco,dc=de
objectClass: organizationalUnit
objectClass: top
ou: groups
description: Gruppen
dies ist die Standartgruppe, in der neue User eingetragen werden. Weitere Eintragungen, wie Standartpasswort sind noch möglich
user.ldif anlegen und folgendes eintragen:
dn: ou=people,dc=omeco,dc=de
objectClass: organizationalUnit
objectClass: top
ou: people
dn: cn=Michael B,ou=people,dc=omeco,dc=de
userPassword: 12345
cn: Michael B
gecos: Michael B
gidNumber: 100
homeDirectory: /home/michael
loginShell: /bin/bash
objectClass: top
objectClass: person
objectClass: posixAccount
objectClass: shadowAccount
shadowExpire: -1
shadowFlag: 0
shadowInactive: -1
shadowLastChange: 10877
shadowMax: 999999
shadowMin: 0
shadowWarning: 7
sn: B
uid: michael
uidNumber: 1001
Somit hätten wir unseren ersten User angelegt. Bevor man restartet, sollte man noch die gid (Gruppen ID) nachprüfen, ob diese auch wirklich noch frei ist, bei uid natürlich auch. Dann steht einem ersten Loginversuch nichts mehr im Weg.
Der Restart ist nicht notwendig, man kann auch über die Konsole die einzelnen Dienste neustarten, ich habe die Methode des Neustarts gewählt, um sicher zu sein, dass ich nichts vergesse und weil es einfacher ist/war.
Samba und Ldap
Seit dem Release 2.2.3a von Samba, wird Ldap unterstützt. Leider ist es immernoch notwendig, Samba neu zu kompilieren, damit es mit Ldap lauffähig ist.
Syntax:
./configure -with-ldapsam
make
make install
libldap-dev und libsldapd-dev werden aber dazu benötigt, achtung sind die beiden Dateien nicht vorhanden, so meldet Samba keine Fehlermeldung, mit:
./configure --with-ldapsam | grep ldap
meldet er ldap.h failed, wenn die beiden Dateien nicht vorhanden sind. Dann sollte man nachinstallieren und make clean vor der Neuinstallation durchführen.
Ab Version 3 unter SuSE ist dies nicht mehr notwendig. Bei mir lokal wurden die RPM-Pakete gleich mit ldap-Unterstützung installiert, dies ist aber erst seit SuSE Version 9.0 der Fall.
In der Datei SMB.conf sollten dann folgende Einträge hinzugekommen sein:
/etc/samba/smb.conf
[global]
ldap server = 127.0.0.1
ldap admin dn = cn=Manager,dc=omeco,dc=de
Übernahme der bestehenden User
unter: http://www.padl.com/OSS/MigrationTools.html findet man Shell-Skripte, welche die Übernahme bestehender User in Ldap übernehmen.
Ich hoffe es ist leicht verständlich. Würde mich über ein kleines Feedback freuen.
*greetz*