Diskussion:Entwicklungsumgebung/LDAP Einrichtung
Weitere Konfiguration des LDAP hier:
Installation des LDAP (E-Mail von Hans-Dietrich Kirmse)
1. wir stellen das samba.schema bereit (wer das schon gemacht hatte, dann kann das natürlich jetzt entfallen)
aptitude install samba-doc
cd /usr/share/doc/samba-doc/examples/LDAP
gunzip samba.schema.gz
cp samba.schema /etc/ldap/schema/
2.
aptitude install slapd
--|Konfiguriere slapd|--
Administrator-Passwort: geheim
3.
aptitude install ldap-utils libsasl2-modules
4.
aptitude install libnss-ldap
--|Konfiguriere libnss-ldap|--
URI des LDAP-Servers verlangt: ldap://127.0.0.1:389/
Eindeutiger Name (DN - ...) der Suchbasis: dc=delixs-schule,dc=de
Benutzte LDAP-Version: 3
LDAP-Zugang für Root: cn=admin,dc=delixs-schule,dc=de
Passwort des LDAP-Zugangs für Root: geheim
5. aptitude install libpam-ldap
(Aufruf entfällt, da gleich bei 3. automatisch mit installiert wurde)
--|Konfiguriere libpam-ldap|--
Lokaler root zum Datenbank-Administrator machen: Ja
Benötigt die LDAP-Datenbank eine Anmeldung Nein
LDAP-Zugang für Root: cn=admin,dc=delixs-schule,dc=de
Passwort des LDAP-Zugangs für root: geheim
Nachtrag zu PAM: --Harry 2009/03/29 in DD
Problem: smbldap-passwd nimmt nur den Namen als Parameter an, die Krücke
'echo -e "geheim\ngehein\n" | smbldap-passwd mmustermann'
als Konstruktion mag mir gar nicht so gefallen im Skript!
Eigentlich ist nur ein "passwd user" erforderlich. Den Rest kann PAM erledigen. Auch das erstellten der NT & LM hashes :-)
alias cgrep='grep -Ev '\(^$|^space:*#|^space:*;)'\' cgrep /etc/pam.d/common-password
password [success=1 default=ignore] pam_unix.so nullok obscure min=4 max=8 md5 password required pam_ldap.so try_first_pass password required pam_smbpass.so nullok use_authtok try_first_pass password required pam_permit.so
und ein
aptitude install libpam-smbpass
6. die /etc/ldap/ldap.conf (Datei im Paket http://www.arktur.th.schule.de/delixs-ldap.zip)
BASE dc=delixs-schule,dc=de URI ldap://localhost
SIZELIMIT 12 TIMELIMIT 15 DEREF always
7. die /etc/ldap/slapd.conf (Datei im Paket)
das samba-Schema wurde schon am Anfang kopiert, jetzt einbinden:
include /etc/ldap/schema/samba.schema (*hinter* den anderen Zeilen eintragen)
loglevel 384 (wenn Entwicklung abgeschlossen, auf 0 setzen) sizelimit 3000 backend hdb gelassen
rootdn "cn=admin,dc=delixs-schule,dc=de" rootpw wieder ergänzt, da in der Literatur so angegeben erstellt mit:
cd /etc/ldap slappasswd -u >> slapd.conf
(verschüsselte Passwort angehangen, mit mcedit verschieben)
8. /etc/libnss-ldap.conf (Datei im Paket)
Anm. von Harry: Bevor man irgendwas mit NSS und/oder PAM testen oder konfigurieren will, muss der nscd ausgeschaltet werden:
/etc/init.d/nscd stop
Die /etc/libnss-ldap.conf wurde folgendermaßen abgeändert
base dc=delixs-schule,dc=de deref always uri ldap://127.0.0.1/ ldap_version 3 rootbinddn cn=admin,dc=delixs-schule,dc=de scope sub bind_timelimit 30 bind_policy soft nss_connect_policy persist
/etc/init.d/nscd start
9. Neustart des slapd
/etc/init.d/slapd restart
10. Test
'slapcat' sollte 2 Entries anzeigen Wenn man die Ausgabe umleitet mit 'slapcat > test.ldif', dann kommen 2 Warnungen
11. diese Warnungen beseitigen (entfällt bei der Datei im Paket)
in /etc/ldap/slapd.conf müssen folgende Zeilen (105, 128*) bearbeitet werden:
access to attrs=userPassword,shadowLastChange by dn="cn=admin,dc=delixs-schule,dc=de" write by anonymous auth by self write by * none
access to * by dn="cn=admin,dc=delixs-schule,dc=de" write by * read
jeweils die 2. Zeile (also 'by dn="cn=admin,dc=delixs-schule,dc=de" write') muss rausgelöscht werden (nicht nur auskommentiert!)
12. Initialisierung des LDAPs
Da die smbldap-tools davon ausgehen, dass alle Gruppen unter einer 'ou' zu finden sind, wird nun doch diese sehr einfache Struktur gewählt.
.----- ou=groups / / / .------ ou=people / / LDAPBASE -------- ou=accounts \ \ \ `------ ou=machines \ \ `----- cn=admin
Anmerkung: die Einträge für sambaDomain und für DHCP kommen später
die Einträge für LDAPBASE und cn=admin sind schon drin
das LDIF-File http://www.arktur.th.schule.de/initldap.ldif (Datei im Paket)
wird so eingespielt:
ldapadd -x -D "cn=admin,dc=delixs-schule,dc=de" -W -f /root/initldap.ldif
rückgängig gemacht werden kann es mit dem passenden Killfile (Datei im Paket) http://www.arktur.th.schule.de/killinitldap.del
ldapdelete -x -D cn=admin,dc=delixs-schule,dc=de -W -f /root/killinitldap.del
13. Konfiguration von NSS
/etc/nsswitch.conf (Datei im Paket) ------------------- passwd: compat ldap shadow: compat ldap group: compat ldap
14. Konfiguration von PAM
als root eine 2. Konsole aufgemacht!
/etc/pam_ldap.conf (Datei im Paket) ------------------ base dc=delixs-schule,dc=de uri ldap://127.0.0.1/ # geändert ldap_version 3 rootbinddn cn=admin,dc=delixs-schule,dc=de scope sub # geändert bind_policy soft # geändert pam_password exop # geändert
Anm.: wo geändert steht, da musste ich den Eintrag erstellen. Die zwei anderen Einträge waren schon so.
/etc/pam.d/common-account (Datei im Paket) ------------------------- account [success=1 default=ignore] pam_unix.so account required pam_ldap.so account required pam_permit.so /etc/pam.d/common-auth (Datei im Paket) ---------------------- auth [success=1 default=ignore] pam_unix.so auth required pam_ldap.so use_first_pass ignore_authinfo_unavail auth required pam_permit.so
/etc/pam.d/common-password (Datei im Paket) -------------------------- password [success=1 default=ignore] pam_unix.so nullok obscure min=4 max=8 md5 password required pam_ldap.so try_first_pass password required pam_smbpass.so nullok use_authtok try_first_pass password required pam_permit.so
/etc/pam.d/common-session (im Paket) ------------------------- session required pam_unix.so session required pam_mkhomedir.so skel=/etc/skel umask=0022
15. Ergänzungen an der /etc/ldap/slapd.conf (Datei im Paket)
folgende indexe sollten angelegt werden:
#index default eq index objectClass eq index uidNumber eq index gidNumber eq index uid,displayName eq index cn,sn pres,eq,sub index memberUid eq index sambaSID eq index sambaPrimaryGroupSID eq index sambaDomainName eq
bei den ACLs kommentieren wir diese aus: (Anm.: beim Testen unter Samba ging search nicht)
access to dn.base="" by * read
16. Neustart des LDAP
/etc/init.d/slapd restart
17. Testen der PAM-Konfiguration
die Datei unter
http://www.arktur.th.schule.de/mmustermann.ldif (Datei im Paket)
in den LDAP einspielen mit
ldapadd -x -D "cn=admin,dc=delixs-schule,dc=de" -W -f /root/mmustermann.ldif
damit automatisch das Homeverzeichnis erstellt werden kann, legen wir noch das Verzeichnis /home/students/ an
jetzt sollte der Aufruf von
a) anmelden auf einer weiteren Console mit 'mmustermann' und dem Passwort 'geheim'
b) 'getent passwd mmustermann' liefert
mmustermann:x:2000:1002:Manfred Mustermann,testklasse:/home/schueler/mmustermann:/bin/bash
c) 'id mmustermann' liefert
uid=2000(mmustermann) gid=1002(crontab) Gruppen=1002(crontab)
d) mit 'passwd mmustermann' kann man das Passwort ändern
Es ging hier nur um den Test der PAM-Konfiguration, also diesen User wieder löschen. (eine lange Zeile!)
ldapdelete -x -D "cn=admin,dc=delixs-schule,dc=de" -W "uid=mmustermann,ou=people,ou=accounts,dc=delixs-schule,dc=de"
Aus DD-Mails von Hans-Dietrich Kirmse 04./05.02.09