Diskussion:Entwicklungsumgebung/LDAP: Unterschied zwischen den Versionen
Dorn (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Dorn (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
Zeile 24: | Zeile 24: | ||
--[[Benutzer:Dorn|Dorn]] 12:43, 8. Feb. 2009 (UTC) | --[[Benutzer:Dorn|Dorn]] 12:43, 8. Feb. 2009 (UTC) | ||
Weitere Konfiguration des LDAP nach Anleitungen per E-Mail von Hans-Dietrich Kirmse: | |||
'''User- und Rechnerverwaltung''' | |||
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-usershow | |||
der liefert folgende Anzeige: | |||
09:34, 15. Feb. 2009 (UTC)09:34, 15. Feb. 2009 (UTC)09:34, 15. Feb. 2009 (UTC)09:34, 15. Feb. 2009 (UTC) | |||
uid |username | |||
0 |root | |||
65534 |nobody | |||
1001 |mmustermann | |||
1002 |eolsen | |||
1003 |spass | |||
1010 |mplank | |||
1011 |aapel | |||
1012 |pc01$ | |||
1050 |pc02$ | |||
09:34, 15. Feb. 2009 (UTC)09:34, 15. Feb. 2009 (UTC)09:34, 15. Feb. 2009 (UTC)09:34, 15. Feb. 2009 (UTC) | |||
Frage: kann mir jemand einen Befehl (irgendwas mit grep ...) angeben, | |||
dass eben nur die beiden letzten Zeilen angezeigt werden? | |||
Bitte beachten, dass dollarzeichen ist nicht das letzte Zeichen in der | |||
zeile, sondern es kommen danach noch ein paar Leerzeichen. |
Version vom 15. Februar 2009, 09:34 Uhr
Pakete:
slapd ldap-utils libnss-ldap libpam-ldap libsasl2-modules libnet-ldap-perl ?? nscd (aber während der Tests abstellen) winbind (scheint nicht kompatibel zu nfs-mounts zu sein) phpldapadmin (wird erst mit apache und php installiert) migrationtools ?? ldap-account-manager-lamdaemon ??
Bei mir kommt gleich nach der Installation von libnss-ldap automatisch die Installation von libpam-ldap, ist also von aptitude gleich mit ausgewählt worden. Hat zur Irritation geführt, das ich es nicht gleich erkannt habe und falsche Angaben gemacht habe, also purge und Neuinstallation. Wenn das das Standardverhalten ist, sollte die Anleitung entsprechend geändert werden.
--Dorn 12:46, 4. Feb. 2009 (UTC)
Vermutlich wurde der Haken unter "[ ] empfohlene Pakete automatisch mit installieren" (auf der Seite Entwicklungsumgebung/Aptitude beschrieben) nicht entfernt. Bitte nachholen, sonst installiert das System jede Menge unerwünschter Pakete mit.
--Schoffer 18:34, 4. Feb. 2009 (UTC)
Das war es. Da ich aptitude nicht im Menümodus verwendet habe, habe ich das ignoriert. Die Einstellung wird übrigens in /root/.aptitude/config gespeichert.
--Dorn 12:43, 8. Feb. 2009 (UTC)
Weitere Konfiguration des LDAP nach Anleitungen per E-Mail von Hans-Dietrich Kirmse:
User- und Rechnerverwaltung
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-usershow
der liefert folgende Anzeige:
09:34, 15. Feb. 2009 (UTC)09:34, 15. Feb. 2009 (UTC)09:34, 15. Feb. 2009 (UTC)09:34, 15. Feb. 2009 (UTC) uid |username 0 |root 65534 |nobody 1001 |mmustermann 1002 |eolsen 1003 |spass 1010 |mplank 1011 |aapel 1012 |pc01$ 1050 |pc02$ 09:34, 15. Feb. 2009 (UTC)09:34, 15. Feb. 2009 (UTC)09:34, 15. Feb. 2009 (UTC)09:34, 15. Feb. 2009 (UTC)
Frage: kann mir jemand einen Befehl (irgendwas mit grep ...) angeben, dass eben nur die beiden letzten Zeilen angezeigt werden?
Bitte beachten, dass dollarzeichen ist nicht das letzte Zeichen in der zeile, sondern es kommen danach noch ein paar Leerzeichen.