|
|
(6 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) |
Zeile 27: |
Zeile 27: |
|
| |
|
| == Weitere Konfiguration des LDAP hier: == | | == 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)
| | [[Diskussion:Entwicklungsumgebung/LDAP Einrichtung]] |
| | |
| aptitude install samba-doc
| |
| | |
| cd /usr/share/doc/samba-doc/examples/LDAP
| |
| | |
| gunzip samba.schema.gz
| |
| | |
| mit dem mc oder cp-Befehl die entpackte Datei samba.schema nach /etc/ldap/schema/ kopieren.
| |
| | |
| 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
| |
| | |
| | |
| 6. die /etc/ldap/ldap.conf (Datei im Paket)
| |
| | |
| 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:102: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
| |
| | |
| === User- und Rechnerverwaltung (E-Mail von Hans-Dietrich Kirmse): ===
| |
| | |
| | |
| Die Klassen werden wie bei Arktur im GECOS eintragen. m.E. ist ein
| |
| Umstellungsscript später kein großes Problem.
| |
| Außerdem generiere ich hier nur Logins nach dem Muster 'vnachname'.
| |
| Passwörter generiere ich nur mit der Routine "schöne Passwörter".
| |
| | |
| Ich brauche:
| |
| | |
| 1. das Anlegen eines Users
| |
| 2. das Versetzen eines Users
| |
| 3. das Ändern des Passworts eines Users
| |
| 4. das Aktualisieren der Daten (GECOS) eines Users
| |
| 5. das Löschen eines Users
| |
| 6. das Anlegen einer Klasse
| |
| 7. das Versetzen einer Klasse
| |
| 8. das Löschen einer Klasse
| |
| 9. das Anzeigen aller User
| |
| 10. das Anzeigen aller Klassen
| |
| 11. das Anzeigen der User einer Klasse
| |
| 12. das Anlegen eines Maschinenaccounts
| |
| 13. das Löschen eines Maschinenaccounts
| |
| 14. das Anzeigen der Maschinenaccounts
| |
| | |
| | |
| zu 1. das Anlegen eines einzelnen Users
| |
| | |
| | |
| sollte direkt mit den smbldaptools erledigt werden.
| |
| für das Anlegen des Schülers mmustermann würde der Aufruf so aussehen:
| |
| | |
| smbldap-useradd -a -A 1 -g 1002 -n -c 'Manfred Mustermann,5a' -d
| |
| /home/pupil/mmustermann -m mmustermann
| |
| | |
| dabei bedeuten die Parameter:
| |
| # -a is a Windows User (otherwise, Posix stuff only)
| |
| # -A can change password ? 0 if no, 1 if yes
| |
| # -g gid
| |
| # -n do not create a group
| |
| # -c gecos
| |
| # -d home
| |
| # -m creates home directory and copies /etc/skel
| |
| | |
| Dafür ein Webinterface zu bauen sehe ich als unproblematisch.
| |
| eingegeben werden muss der Name, die Klasse bzw. Lehrer und das Login.
| |
| Im Erfolgsfall wird nichts zurückgegeben.
| |
| | |
| Wenn das Login schon existert, dann wird zurückgegeben:
| |
| /usr/sbin/smbldap-useradd: user mmustermann exists
| |
| | |
| | |
| zu 2. das Versetzen eines Users
| |
| | |
| | |
| Workaround: wir geben das GECOS-Feld komplett neu an (darin ist ja die
| |
| Klasse)
| |
| | |
| smbldap-usermod -c 'Manfred Mustermann,6a' mmustermann
| |
| | |
| | |
| zu 3. das Ändern des Passworts eines Users
| |
| | |
| dazu verwenden wir die smbldap-tools. als root bzw. mit root-Rechten:
| |
| | |
| smbldap-passwd mmustermann
| |
| | |
| dann muss das neue Passwort 2x eingegeben werden
| |
| | |
| | |
| | |
| zu 4. das Aktualisieren der Namen eines Users
| |
| | |
| | |
| workaround wie bei 2. Die Klasse muss natürlich wieder angegeben werden.
| |
| | |
| | |
| | |
| zu 5. das Löschen eins Users
| |
| | |
| smbldap-userdel -r mmustermann
| |
| | |
| # -r bedeutet, dass das Homeverzeichnis auch gelöscht wird
| |
| | |
| | |
| | |
| zu 6. eine Klasse anlegen
| |
| | |
| | |
| wir erstellen ein Script 'my-smbldap-passwd' indem wir eine Kopie von
| |
| 'smbldap-passwd' erstellen und folgende Zeilen modifzieren:
| |
| | |
| #-------------------------------------------
| |
| # dieser Hack ist nur dafuer gedacht, dass der Aufruf
| |
| # des Scripts als root erfolgt, wobei ein Username und
| |
| # das Passwort als weiterer Parameter uebergeben wird.
| |
| # es wird nicht abgefangen, ob diese Voraussetzung erfuellt ist
| |
| $pass = $ARGV[1];
| |
| $pass2 = $ARGV[1];
| |
| #print "New password: ";
| |
| #system "/bin/stty -echo" if (-t STDIN);
| |
| #chomp($pass=<STDIN>);
| |
| #system "/bin/stty echo" if (-t STDIN);
| |
| #print "\n";
| |
| #print "Retype new password: ";
| |
| #system "/bin/stty -echo" if (-t STDIN);
| |
| #chomp($pass2=<STDIN>);
| |
| #system "/bin/stty echo" if (-t STDIN);
| |
| #print "\n";
| |
| #-------------------------------------------
| |
| | |
| | |
| um die Accounts klassenweise anzulegen, habe ich ein Script
| |
| 'delixs-user' bereitgestellt, welches aber mehr als 300 Zeilen lang ist
| |
| und deshalb habe ich das hier abgelegt:
| |
| | |
| http://www.arktur.th.schule.de/delixs-user
| |
| | |
| nach delixs-user umbenennen und z.B. so aufrufen:
| |
| | |
| delixs-user 8b userdatei.txt
| |
| | |
| dabei ist die Datei userdatei.txt eine Datei, wie sie auch bei Arktur4
| |
| erwartet wird. (sorry - ich habe die unter Linux angelegt, werde ich
| |
| noch ändern)
| |
| | |
| | |
| zu 7. und 8. noch nicht realisiert :(
| |
| | |
| | |
| | |
| zu 9. das Anzeigen aller User
| |
| zu 10. das Anzeigen aller Klassen
| |
| zu 11. das Anzeigen der User einer Klasse
| |
| | |
| | |
| dazu habe ich ein Script erstellt, was Folgendes leistet: (gleich aus
| |
| dem Quelltext kopiert)
| |
| | |
| ###########################################################
| |
| # Funktion: holt das Login und den Namen (und die Klasse)
| |
| # das Script wird so aufgerufen:
| |
| # ./userlist;
| |
| # ./userlist SCHUELER
| |
| # ./userlist LEHRER
| |
| # ./userlist KLASSEN
| |
| # ./userlist ALL
| |
| # ./userlist 8c
| |
| # wenn kein Parameter, dann werden die Schueler aufgelistet.
| |
| # Das ist dasselbe wie der Parameter SCHUELER. Mit dem Parameter
| |
| # LEHRER werden die Lehrer aufgelistet. Mit dem Paramter ALL
| |
| # werden Schueler und Lehrer aufgelistet, mit dem Parameter KLASSEN
| |
| # werden alle vorhandenen Klassen aufgelistet und wenn eine Klasse
| |
| # uebergeben wird, dann werden die Schueler dieser Klasse aufgelistet
| |
| | |
| dieses Script habe ich hier abgelegt:
| |
| | |
| http://www.arktur.th.schule.de/userlist
| |
| | |
| | |
| | |
| zu 12. das Anlegen eines Maschinenaccounts
| |
| | |
| | |
| dazu verwenden wir die smbldap-tools. als root bzw. mit root-Rechten:
| |
| | |
| smbldap-useradd -w pc01
| |
| smbldap-useradd -w -u 1050 pc02
| |
| | |
| | |
| zu 13. das Löschen eines Maschinenaccounts
| |
| | |
| | |
| dazu verwenden wir auch die smbldap-tools. als root bzw. mit root-Rechten:
| |
| | |
| smbldap-userdel pc01
| |
| smbldap-userdel pc02
| |
| | |
| | |
| zu 14. das Anzeigen der Maschinenaccounts
| |
| | |
| | |
| für das Anzeigen der Accounts gibt es den Befehl
| |
| | |
| smbldap-userlist
| |
| | |
| der liefert folgende Anzeige:
| |
| | |
| uid |username
| |
|
| |
| 0 |root
| |
| 65534 |nobody
| |
| 1001 |mmustermann
| |
| 1002 |eolsen
| |
| 1003 |spass
| |
| 1010 |mplank
| |
| 1011 |aapel
| |
| 1012 |pc01$
| |
| 1050 |pc02$
| |
| | |
| | |
| Nur die letzten beiden Zeilen werden angezeigt:
| |
| | |
| | |
| smbldap-userlist -m
| |
| | |
| uid |username
| |
| | |
| 7777 |xp1$
| |
| 65537 |XP2$
| |
| 65544 |delixs-1$
| |
| 2011 |pc$
| |
| | |
| Bitte beachten, dass dollarzeichen ist nicht das letzte Zeichen in der
| |
| Zeile, sondern es kommen danach noch ein paar Leerzeichen.
| |
| | |
| Weitere Optionen:
| |
| | |
| smbldap-userlist -?
| |
| | |
| | |
| Aus DD-Mails von Hans-Dietrich Kirmse 29./30.01.09
| |
| | |
| --[[Benutzer:Dorn|Dorn]] 12:24, 15. Feb. 2009 (UTC)
| |