Entwicklungsumgebung/LDAP Einrichtung: Unterschied zwischen den Versionen

Aus Delixs
Zur Navigation springen Zur Suche springen
K (Link)
(smbldap-populate)
Zeile 7: Zeile 7:
Nach der Installation und Grundeinrichtung des LDAP nach der Beschreibung unter: [[Entwicklungsumgebung/LDAP]] und der Installation und Grundeinrichtung von SAMBA nach der Beschreibung unter: [[Entwicklungsumgebung/Samba]] erfolgt nun die Konfiguration zu einem Schulserver:
Nach der Installation und Grundeinrichtung des LDAP nach der Beschreibung unter: [[Entwicklungsumgebung/LDAP]] und der Installation und Grundeinrichtung von SAMBA nach der Beschreibung unter: [[Entwicklungsumgebung/Samba]] erfolgt nun die Konfiguration zu einem Schulserver:


== Population im LDAP erzeugen ==


=== Die Datei /etc/ldap/ldap.conf  ===
Mit dem Befehl "smbldap-populate" kann direkt der LDAP mit der Population gefüllt werden. Die Einträge haben gleich die richtige SID (wegen der schon fertig konfigurierten smbldap.conf). Bevor der Befehl ausgeführt wird, sind noch einige Leerzeichen zu entfernen. Öffnen Sie dafür in einem Editor die Datei "/usr/sbin/smbldap-populate". Ab der Zeile 280 suchen Sie nun folgende Einträge und entfernen jeweils ein Leerzeichen:


  dn: cn=Domain Admins    -> dn: cn=DomainAdmins
  cn: Domain Admins        -> cn: DomainAdmins
  dn: cn=Domain Users      -> dn: cn=DomainUsers
  cn: Domain Users        -> cn: DomainUsers
  dn: cn=Domain Guests    -> dn: cn=DomainGuests
  cn: Domain Guests        -> cn: DomainGuests
  dn: cn=Domain Computers  -> dn: cn=DomainComputers
  cn: Domain Computers    -> cn: DomainComputers
  dn: cn=Account Operators -> dn: cn=AccountOperators
  cn: Account Operators    -> cn: AccountOperators
  dn: cn=Print Operators  -> dn: cn=PrintOperators
  cn: Print Operators      -> cn: PrintOperators
  dn: cn=Backup Operators  -> dn: cn=BackupOperators
  cn: Backup Operators    -> cn: BackupOperators


      BASE dc=delixs-schule,dc=de
Speichern Sie die geänderte Datei nun ab und führen Sie diese dann aus:
      URI  ldap://localhost
      SIZELIMIT      12
      TIMELIMIT      15
      DEREF          always


  smbldap-populate


=== Die Datei /etc/ldap/slapd.conf ===
Es wurden folgende Einträge im LDAP für Samba angelegt. Auf dem Bildschirm erscheint jeweils "adding new entry":
 
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
 
(verschlüsselte Passwort wird angehangen, mit mcedit verschieben)
 
 
=== Die Datei /etc/libnss-ldap.conf ===
 
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
 
Nach erfolgter Änderung kann der nscd wieder eingeschaltet werden.
 
    /etc/init.d/nscd start
 
=== Neustart des slapd ===
 
      /etc/init.d/slapd restart
 
 
=== Test ===
 
'slapcat'  sollte 2 Entries anzeigen. Wenn man die Ausgabe umleitet mit 'slapcat > test.ldif', dann kommen 2 Warnungen
 
==== Diese Warnungen beseitigen ====
 
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!)
 
 
=== 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.
 
 
<pre>
            .----- ou=groups
            /
          /
          /                  .------ ou=people
        /                  /
LDAPBASE -------- ou=accounts
        \                  \
          \                  `------ ou=machines
          \
            \
            `----- cn=admin
</pre>
 
'''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 nun 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) oder http://www.arktur.th.schule.de/killinitldap.del
 
  ldapdelete -x -D cn=admin,dc=delixs-schule,dc=de -W -f /root/killinitldap.del
 
 
=== Konfiguration von NSS ===
 
Die datei /etc/nsswitch.conf
 
  passwd:      compat ldap
  shadow:      compat ldap
  group:      compat ldap
 
 
 
=== Konfiguration von PAM ===
 
als root eine 2. Konsole aufgemacht!
 
Die datei /etc/pam_ldap.conf
 
  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.
 
 
Die Datei /etc/pam.d/common-account
 
  account [success=1 default=ignore]  pam_unix.so
  account required                    pam_ldap.so
  account required                    pam_permit.so
 
Die Datei /etc/pam.d/common-auth
 
  auth    [success=1 default=ignore]  pam_unix.so
  auth    required      pam_ldap.so use_first_pass ignore_authinfo_unavail
  auth    required                    pam_permit.so
 
Die Datei /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
 
Die Datei /etc/pam.d/common-session
 
  session    required          pam_unix.so
  session    required          pam_mkhomedir.so skel=/etc/skel umask=0022
 
 
 
=== Ergänzungen an der /etc/ldap/slapd.conf ===
 
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
 
=== Neustart des LDAP ===
 
  /etc/init.d/slapd restart
 
=== Testen der PAM-Konfiguration ===
 
Speichern Sie zum Test den folgenden Text in die Datei mit dem Namen "mmustermann.ldif" ab und legen diese auf dem Server unter "/root" ab.
 
<pre>
#
# Login: mmustermann
# Passwort: geheim
#
dn: uid=mmustermann,ou=people,ou=accounts,dc=delixs-schule,dc=de
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
objectClass: sambaSamAccount
cn: mmustermann
sn: mmustermann
givenName: mmustermann
uid: mmustermann
uidNumber: 2000
gidNumber: 1002
homeDirectory: /home/students/mmustermann
loginShell: /bin/bash
gecos: Schueler
displayName: mmustermann
sambaSID: S-1-5-21-22721786-4218643269-2274238902-3002
sambaAcctFlags: [U          ]
sambaNTPassword: C2AE1FE6E648846352453E816F2AEB93
userPassword:: e1NTSEF9dGpzaVNabEVaYXBiTW1PZ0JHdXlWR09xYlJLVFRJdTk=
</pre>
 
Damit das Homeverzeichnis automatisch erstellt werden kann, legen Sie noch das Verzeichnis "/home/students" an:
 
  mkdir /home/students
 
 
Jetzt spielen Sie diese Date in den LDAP ein mit dem Befehl:
 
  ldapadd -x -D "cn=admin,dc=delixs-schule,dc=de" -W -f /root/mmustermann.ldif
 
 
Nun sollte folgendes funktionieren:
 
* anmelden auf einer weiteren Console mit 'mmustermann' und dem Passwort 'geheim'
* 'getent passwd mmustermann'  liefert
 
  mmustermann:x:2000:102:Manfred Mustermann,testklasse:/home/students/mmustermann:/bin/bash
 
* 'id mmustermann' liefert
 
    uid=2000(mmustermann) gid=1002(crontab) Gruppen=1002(crontab)
 
* mit 'passwd mmustermann' kann man das Passwort ändern
 
 
Es ging hier nur um den Test der PAM-Konfiguration, also können Sie diesen User wieder löschen. Dazu geben Sie diesen Befehl in einer einzigen langen Zeile ein:
 
ldapdelete -x -D "cn=admin,dc=delixs-schule,dc=de" -W "uid=mmustermann,ou=people,ou=accounts,dc=delixs-schule,dc=de"
 


  ou=Idmap,dc=delixs-schule,dc=de
  uid=root,ou=people,ou=accounts,dc=delixs-schule,dc=de
  uid=nobody,ou=people,ou=accounts,dc=delixs-schule,dc=de
  cn=DomainAdmins,ou=groups,dc=delixs-schule,dc=de
  cn=DomainUsers,ou=groups,dc=delixs-schule,dc=de
  cn=DomainGuests,ou=groups,dc=delixs-schule,dc=de
  cn=DomainComputers,ou=groups,dc=delixs-schule,dc=de
  cn=Administrators,ou=groups,dc=delixs-schule,dc=de
  cn=AccountOperators,ou=groups,dc=delixs-schule,dc=de
  cn=PrintOperators,ou=groups,dc=delixs-schule,dc=de
  cn=BackupOperators,ou=groups,dc=delixs-schule,dc=de
  cn=Replicators,ou=groups,dc=delixs-schule,dc=de
  sambaDomainName=SCHULE,dc=delixs-schule,dc=de




Zeile 261: Zeile 50:
== Weblinks ==
== Weblinks ==


* http://www.arktur.th.schule.de/initldap.ldif
* http://www.arktur.th.schule.de/doku/initall.ldif
* http://www.arktur.th.schule.de/doku/initall.ldif
* http://www.arktur.th.schule.de/killinitldap.del
* http://www.openldap.org/
* http://www.openldap.org/
* http://linuxwiki.de/OpenLDAP
* http://linuxwiki.de/OpenLDAP

Version vom 9. Juli 2009, 21:38 Uhr

Uberarbeiten Diese Seite sollte nochmals überarbeitet werden. Eine Begründung befindet sich in der Regel unter Diskussion (oben).


Konfiguration von SAMBA (Teil 2 - SAMBA-LDAP-Einrichtung)

Nach der Installation und Grundeinrichtung des LDAP nach der Beschreibung unter: Entwicklungsumgebung/LDAP und der Installation und Grundeinrichtung von SAMBA nach der Beschreibung unter: Entwicklungsumgebung/Samba erfolgt nun die Konfiguration zu einem Schulserver:

Population im LDAP erzeugen

Mit dem Befehl "smbldap-populate" kann direkt der LDAP mit der Population gefüllt werden. Die Einträge haben gleich die richtige SID (wegen der schon fertig konfigurierten smbldap.conf). Bevor der Befehl ausgeführt wird, sind noch einige Leerzeichen zu entfernen. Öffnen Sie dafür in einem Editor die Datei "/usr/sbin/smbldap-populate". Ab der Zeile 280 suchen Sie nun folgende Einträge und entfernen jeweils ein Leerzeichen:

 dn: cn=Domain Admins     -> dn: cn=DomainAdmins
 cn: Domain Admins        -> cn: DomainAdmins
 dn: cn=Domain Users      -> dn: cn=DomainUsers
 cn: Domain Users         -> cn: DomainUsers
 dn: cn=Domain Guests     -> dn: cn=DomainGuests
 cn: Domain Guests        -> cn: DomainGuests
 dn: cn=Domain Computers  -> dn: cn=DomainComputers
 cn: Domain Computers     -> cn: DomainComputers
 dn: cn=Account Operators -> dn: cn=AccountOperators
 cn: Account Operators    -> cn: AccountOperators
 dn: cn=Print Operators   -> dn: cn=PrintOperators
 cn: Print Operators      -> cn: PrintOperators
 dn: cn=Backup Operators  -> dn: cn=BackupOperators
 cn: Backup Operators     -> cn: BackupOperators

Speichern Sie die geänderte Datei nun ab und führen Sie diese dann aus:

 smbldap-populate

Es wurden folgende Einträge im LDAP für Samba angelegt. Auf dem Bildschirm erscheint jeweils "adding new entry":

 ou=Idmap,dc=delixs-schule,dc=de
 uid=root,ou=people,ou=accounts,dc=delixs-schule,dc=de
 uid=nobody,ou=people,ou=accounts,dc=delixs-schule,dc=de
 cn=DomainAdmins,ou=groups,dc=delixs-schule,dc=de
 cn=DomainUsers,ou=groups,dc=delixs-schule,dc=de
 cn=DomainGuests,ou=groups,dc=delixs-schule,dc=de
 cn=DomainComputers,ou=groups,dc=delixs-schule,dc=de
 cn=Administrators,ou=groups,dc=delixs-schule,dc=de
 cn=AccountOperators,ou=groups,dc=delixs-schule,dc=de
 cn=PrintOperators,ou=groups,dc=delixs-schule,dc=de
 cn=BackupOperators,ou=groups,dc=delixs-schule,dc=de
 cn=Replicators,ou=groups,dc=delixs-schule,dc=de
 sambaDomainName=SCHULE,dc=delixs-schule,dc=de


Weblinks



zurück | Hauptseite