Linux-Schulserver FAQ (häufig gestellte Fragen)

Kategorie: Index -> SLSS -> Adminsorgen

Frage(n):




Antwort(en):


Der Server reagiert unheimlich träge - ich habe ihn daheim aufgesetzt und dann in der Schule angeschlossen. Dabei musste ich die externe IP-Adresse ändern.

Leider wird in der derzeitigen Version bei einer Änderung der "externen IP-Adresse" für den Einsatz hinter einem Router oder einem Gateway die Datei /etc/rinetd.conf noch nicht geändert. Hier stehen die Adressen und Ports drin, welche von der externen auf die internen Adresse weitergeleitet werden sollen.
Format:
<externeip> <externerport> <lokaleip> <lokalerport>

Ändern Sie hier die Werte entsprechend ab und starten Sie anschließend den rinetd mit dem Befehl: "rcrinetd restart" neu.

Hinweis: ein interessanter Artikel zum rinetd finden sich im Linux-Magazin.
</lokalerport></lokaleip></externerport></externeip>

nach oben



An der Konsole meines Servers erscheint ständig die Fehlermeldung:
"Init: ID "S1" respawning too fast: disabled for 5 minutes"

Ist nicht so wild. In den meisten Rechnern gibt es 2 serielle Schnittstellen (COM1=>ttyS0 und COM2=>ttyS1).

Gibt es in dem Rechner jedoch nur eine serielle Schnittstelle, dann ärgert sich agetty (und der Admin) zu Tode icon_smile da es ttyS1 nicht findet.

Lösungen:


  1. Fehlermeldung ignorieren. icon_wink

  2. Die Zeile:


    S1:123:respawn:/sbin/agetty -h -L 38400 ttyS1

    aus der Datei /etc/inittab löschen oder durch das voranstellen eines '#' ausklammern.


nach oben



An meinem Schulserver geht die Uhr falsch - was kann ich tun?

Sie müssen in Konfigurationsdatei /etc/ntp.conf noch einen offiziellen Zeitserver eintragen.

Dort z.B. die Zeilen





server ntp1.sda.t-online.de
server ptbtime1.ptb.de


eintragen. Sicherer ist es, gleich mehrere Server einzutragen - eine Liste mit öffentlichen Stratum 2-Servern findet man im Internet (mal nach "Germany" suchen).

Anschließend sollten Sie den xinetd mit dem Befehl "rcxntpd restart" neu starten.

Sollte der Zeitunterschied zu groß sein, braucht der xntpd allerdings ein wenig, da er keinen großen "Zeitsprung" macht sondern die Zeiten langsam aneinander angleicht (das kann durchaus mehr als einen Tag dauern!). Dann nicht gleich die Flinte ins Korn werfen sondern ein wenig warten. Oder gleich

ntpdate ptbtime1.ptb.de

und anschließend

hwclock -w

oder

hwclock -uw

(wenn die Rechnerzeit auf GMT eingestellt ist) eingeben. Aber bitte vorher sicherstellen, dass der Server gerade nicht stark belastet wird.

Der xntpd ist übrigens so nett, automatisch bei den eingetragenen Zeitservern anzufragen - eine Cron-Job o.ä. erübrigt sich also.

nach oben



Ich bekomme leider nicht mehr nach einer Neuinstallation die Domäneneinrichtung meiner Clients hin!

Richtige Vorgehensweise:


  1. Rechner am SLSS anmelden:

  2. Rechnername ohne Domain merken z.B: raum1-pc01

  3. Rechnername unter Windows 2000 auf diesen Namen setzen.

  4. Neubooten!

  5. An der Domäne anmleden wie in der Anleitung beschrieben.



Wichtig:

  • Der Client darf nicht bereits in einer Domäne angemeldet sein (sonst erst abmelden).

  • Der Arbeitsgruppenname darf nicht der Dömänenname sein.

  • Anmeldung über admin und dessen Passwort.



Nochmal Wichtig!
Man sollte NIE gleichzeitig den NetBIOS-Namen des Clients ändern und ihn in die Domäne aufnehmen!

nach oben



Kann man den SLSS ohne KDE (wg. Speicherplatzersparnis) betreiben und wenn ja wie?

Die einfachste Lösung ist den Schulserver einfach in runlevel 3 zu starten.

Vorgehensweise:


  1. YaST2 starten -> System -> Runlevel Editor

  2. Expertenmodus

  3. "Standard-Runlevel nach dem Systemstart" auf -> "3. Voller Mehrbenutzerbetrieb mit Netzwerk" setzen

  4. YaST2 verlassen

  5. Mit "telinit 3" wird die grafische Oberfläche runtergefahren.



KDE oder gar den X-Server ganz zu deinstallieren ist eine ganz schlechte Idee.

nach oben



Ich bekomme folgende Fehlermeldung:

"STARTING DHCP server .../usr/sbin/rcdhcpd:109: could not copy /etc/localtime to chroot jail".


Folge: Der DHCP-Server startet nicht mehr!

Wahrscheinlich gab es bei einem Update der Konfiguration ein Problem und nun liegt eine fehlerhafte Datei oder ein Symlink in Chroot-Verzeichnis des DHCP:


/var/lib/dhcp

Dort werden beim Start des DHCP-Servers alle für ihn relevanten Dateien hineinkopiert.
Meist hilft es, wenn mit dem Befehl rm /var/lib/dhcp/etc/localtime der fehlerhafte Link oder die Datei gelöscht wird. Die Datei wird dann vom Startskript neu angelegt.

Einmal kam es aber auch schon vor, dass die Datei /etc/localtime überhaupt nicht mehr vorhanden war. Dann läuft der Rechner wahrscheinlich mit "UTC"-Zeit, was man mit dem Kommando date recht einfach feststellen kann. Notfalls einfach die für das System entsprechende Datei aus dem Verzeichnis /usr/lib/zoneinfo/ wieder nach /etc kopieren.

Eine weitere Lösung ist eine Änderung in der Datei /etc/init.d/dhcpd, Zeile 107ff:






for i in $DAEMON_CONF $DHCPD_CONF_INCLUDE_FILES
/etc/{resolv.conf,host.conf,hosts,localtime}; do
cp -a $i $CHROOT_PREFIX/$i &>/dev/null \
|| { echo "...$0:$LINENO: could not copy $i to chroot jail";
rc_failed;
rc_status -v1; exit 6; }
done


Diese Schleife wird ein wenig verändert, so dass nicht mehr auf alle Dateien geprüft wird (die Datei localtime ist z.B. gar nicht nötig):







for i in $DAEMON_CONF $DHCPD_CONF_INCLUDE_FILES
/etc/{resolv.conf,host.conf,hosts,localtime}; do
if ! test -e $i; then continue; fi # neither of them is absolutely necessary
cp -a $i $CHROOT_PREFIX/$i &>/dev/null \
|| { echo "...$0:$LINENO: could not copy $i to chroot jail";
rc_failed; rc_status -v1; exit 6; }
done

nach oben



Ich habe eine Windows Workstation am SLSS anmelden wollen - aber irgendetwas hat nicht richtig geklappt. Nun kann ich den Rechner weder löschen noch neu registrieren - was kann ich tun?

1) Exportieren vergessen?
Prüfen Sie bitte zunächst, ob Sie den Rechner noch in der DHCP-Konfiguration finden. Dann sollten Sie ihn wie im Handbuch beschrieben löschen können:
=> Adminmenü => Rechner/ Domänen => DHCP-Konfiguration
Hier die Schaltfläche "Löschen" hinter dem betreffenden PC-Namen drücken und anschließend nicht vergessen, auf die Schaltfläche "Exportieren" zu drücken!

2) Anderer Fehler - Werte wurden unvollständig eingetragen
Sollte 1) nicht erfolgreich sein und Sie finden den Rechner nicht mehr in der DHCP-Konfiguration ist wahrscheinlich noch der Samba-Eintrag im LDAP gespeichert.
Jetzt hilft nur noch die direkte Änderung im LDAP-Verzeichnis. Hierbei geht es also auf eine Konsole am Server. Wir gehen hier einmal davon aus, dass Sie während der Installation des Servers als Domäne "Testschule.de" gewählt haben. Davon sind dann die LDAP-Sucheinträge abhängig: aus "Testschule.de" wird "dc=Testschule,dc=de". Bitte passen Sie also die Einträge bei entsprechend an.


  • Melden Sie sich als root am LDAP-Server an und geben Sie den Befehl

    ldapsearch -x uid=rechnername$

    ein (das "$" nicht vergessen). Nun sollten ihnen die Einträge ähnlich wie in der grafischen Oberfläche aufgelistet werden. Um zu überprüfen, ob der Rechner auch noch als Workstationaccount eingetragen wurde, können Sie den Befehl ohne das angehängte "$" wiederholen.


  • Jetzt wollen wir noch wissen, ob der Rechner evtl. noch in der DHCP-Konfiguration hängen geblieben ist. Dazu geben Sie nun den folgenden Suchbefehl ein:

    ldapsearch -x -b "cn=pcname,cn=raumname,cn=ipbereich,cn=Global,cn=DHCP,o=DHCP,dc=Testschule,dc=de" objectclass=*


    Passen Sie bitte die folgende Werte an Ihre lokalen Besonderheiten an:

    • pcname = Name des PCs

    • raumname = Name des Raums in welchem der PC registriert ist

    • ipbereich = Der IP-Bereich Ihres Schulnetzwerkes (also z.B. 10.1.0.0)






  • Um den Maschinenkonten- und den Workstationbenutzer-Eintrag zu löschen geben Sie den Befehl

    ldapdelete -x -D "uid=cyrus,dc=Testschule,dc=de" -W "uid=rechnername$,dc=Testschule,dc=de"

    ein. Anschließend werden Sie noch nach dem Administrator-Passwort gefragt.



  • Um den Fehlerhaften Eintrag aus dem DHCP-Bereich zu löschen gehen Sie wieder ähnlich vor - der Befehl lautet hier:

    ldapdelete -x -D "uid=cyrus,dc=Testschule,dc=de" -W "cn=pcname,cn=raumname,cn=ipbereich,cn=Global,cn=DHCP,o=DHCP,dc=Testschule,dc=de"


    Bitte passen Sie auch hier folgende Werte an:

    • pcname = Name des PCs

    • raumname = Name des Raums in welchem der PC registriert ist

    • ipbereich = Der IP-Bereich Ihres Schulnetzwerkes (also z.B. 10.1.0.0)






Für welche Möglichkeit Sie sich auch entscheiden: der fehlerhafte Eintrag wird ohne Rückfrage entfernt werden. Also seien Sie sich sicher, welchen PC sie da löschen...

nach oben



Beim Einlesen einer Nutzerliste mit mehr als 1.000 neuen Nutzern bekomme ich plötzlich Fehlermeldungen und das Skript bricht ab. Woran liegt das bzw. wie kann ich das umgehen?

Der Server - und insbesondere der LDAP-Server - sind bei mehr als 1.000 neu anzulegenden Accounts sehr stark beschäftigt. Da kann dann schon eine kleine Unterbrechung (wie z.B. ein Cron-Job oder andere Zugriffe) zu Fehlern führen. Wir arbeiten derzeit an diesem Problem. Bis dahin:


  • entweder die Listen aufsplitten und kleinere Mengen an Nutzern anlegen

  • oder ein neueres Skript herunterladen und mit diesem Skript das ältere im Verzeichnis /srv/www/lib/func ersetzen.

nach oben



Gibt es eine Möglichkeit, dass man den direkten ssh-Zugriff für bestimmte User auf den SLSS erlaubt?
Wenn ja, was muss ich hierfür einstellen?

Grundsätzlich ist beim SLSS über den SSH-Server nur noch das Einloggen für Nutzer möglich, welche NICHT im LDAP stehen, sondern in den normalen Systemdateien /etc/passwd und /etc/shadow. Mit diesen Nutzern funktionieren dann logischerweise auch alle Anleitungen, die auf diesem System beruhen.


Hintergrund beim SLSS: so können sich Nutzer zwar an den einzelnen Clients anmelden, aber ein Einloggen direkt am Server ist nicht möglich und aus Sicherheitsgründen (z.B. "Vollmüllen" von /tmp; Dateien unterhalb von /etc ansehen) auch nicht gewollt.

Es gibt auf den ersten Blick nun mehrere Möglichkeiten dies zu umgehen (nennt sich wohl "Löcher schießen"):

  • Einen Systemnutzer anlegen, welcher dieselbe User-ID wie der betreffende LDAP-User hat. Damit kann dieser Systemnutzer (kann durchaus anders heißen) dann auf die Dateien des LDAP-Nutzers zugreifen.

  • Sich per SSH an einen normalen Client anmelden, welcher "von außen" erreichbar ist und das /home-Verzeichnis per NFS importiert hat. Auch hier sollte dann der Zugriff möglich sein.

  • Die Datei /etc/pam.d/sshd ändern. Diese Datei regelt die Reihenfolge in welcher Nutzer authentifiziert werden.

    Unter /usr/share/doc/packages/pam_ldap/pam.d liegt - soweit ich das jetzt sehen kann - noch die "Originaldatei", welche auch LDAP-Nutzern den Zugriff über SSH gestattet. Also kann man für erste Versuche einfach einmal diese beiden Dateien austauschen und den saslauthd neu starten.



  • Evtl. ist für spätere Versionen noch ein zusätzliches Flag im LDAP hilfreich, welches dann je nach Einstellung in "SSH-ALLOW" ein OK oder DENIED zurückliefert. Mal sehen.

    nach oben



    Wie kann ich unseren Computerräumen am Morgen den Zugang zum Internet verbieten?

    Am einfachsten dürfte das über einen Cron-Job funktionieren - aber nur, wenn die Computerräume auch am SLSS registriert sind.

    Angenommen, wir möchten für den ersten Computerraum den Zugang jeden Morgen sperren und haben ein 10er Netzwerk:

    /usr/sbin/control_access DENY 10.0.2.0/26 internet >/dev/null 2>&1

    Diese Zeile in einer Datei (z.B. inet_off) speichern und in das Verzeichnis /etc/cron.daily verschieben. Jetzt reicht ein:
    chmod 755 /etc/cron.daily/inet_off

    und zukünftig sollte der Computerraum jeden Morgen keinen Internetzugang haben.

    Weitere Schlüsselwörter, die anstelle von "internet" eingesetzt werden können sind:

    • all

    • printing

    • mailing


    Also all diejenigen Dienste, welche auch über die Weboberfläche erreichbar sind. Für weitere Räume fügt man einfach eine weitere Zeile an die Datei an.

    Wenn man den Lehrer-PC nicht aussperren möchte, sollte man dessen IP-Adresse zusätzlich am Ende des Aufrufes eintragen. Also etwa:
    /usr/sbin/control_access DENY 10.0.2.0/26 internet


    nach oben



    Ich habe am Server ein wenig an den LDAP-Einstellungen herumgestellt und nun funktioniert nichts mehr. Wie kann ich denn die "Ausgangssytuation" wieder herstellen?

    Im Verzeichnis /var/lib/ldap findet man einige "ldif"-Dateien. Darunter auch die Datei dhcp.ldif. In dieser Datei sollten die Einträge für den DHCP-Server stehen, welche beim letzten Backup (erfolgt nachts) gesichert sein sollten.

    Entweder kopieren Sie die nötigen Details aus dieser Datei in das Webfrontend oder Sie überschreiben mit dem Befehl slapcat die für den DHCP-Server im LDAP gespeicherten Werte.

    nach oben



    Wie melde ich ein externe HD über den USB-Stecker am SLSS-Server an?

    Der SLSS sollte selbst erkennen, dass ein USB-Gerät am Server angesteckt worden ist. Dies kann man durch einen Blick in das Logfile /var/log/messages im laufenden Betrieb leicht feststellen. Dazu gibt man zunächst den Befehl

    tail -f /var/log/messages
    in einer Konsole ein und steckt danach den USB-Stecker an.

    Jetzt sollten im Logfile Meldungen bezgl. eines neuen USB-Gerätes auftauchen, die nötigen Module geladen und auch der vom Kernel vergebene Gerätename sollte genannt werden - hier handelt es sich bei ansonsten SCSI-losen Servern meist um "sda1" - bei Servern mit SCSI-Platten kann das auch eine andere Platte (etwa sdb1 oder sdc1) sein.

    Nun kann man den USB-Stick oder die USB-Festplatte mit dem Befehl
    mount /dev/sda1 /mnt
    unter dem Verzeichnis /mnt in das Dateisystem einbinden. Das Dateiformat sollte dabei vom Kernel automatisch erkannt werden.

    Wenn die Platte aber vorher noch formatiert werden soll (besonders bei einem Backup ist das zu empfehlen, die normalerweise die Platten nur mit VFat-Formatierung ausgeliefert werden und dann keine Linux-ACLs gespeichert werden können), dann sollte man vor dem mounten die Platte noch Partitionieren (fdisk /dev/sda) und Formatieren (mkfs.reiserfs /dev/sda1). Danach kann dann die Platte mit erweiterten Optionen eingebunden werden:
    mount -t reiserfs -o acl,defaults /dev/sda1 /mnt

    nach oben



    Beim testen der Verbindung zu unserem E-Mail-Fernserver ist folgender Fehler aufgetreten
    ERROR: ERROR(POPFetch): sending password of <> to <>
    wie kann ich diesen Fehler vermeiden und wo wird diese Fehlermeldung eigentlich abgelegt bzw. in welcher LOG datei steht sie??

    /var/log/fetchmail => aber das muss erst in der entsprechenden fetchmailrc freigeschaltet werden.
    Normalerweise sollte man das einfach über das Adminmenü einrichten. Den Rest machen die Skripte dann automatisch.

    nach oben



    Das Zertifikat für https://schulserver ist abgelaufen und ich bekomme eine Warnmeldung in meinem Browser. Wie kann ich das Zertifikat verlängern oder erneuern?

    Benutzen Sie dafür den Befehl

    create_certificate.pl


    Dieser Befehl erwartet noch einige Paramter, die wir (mit Beispielwerten) hier auflisten:






    cnBeispielschule
    fqhnBeispielschule.de
    slss-nameschulserver.Beispielschule.de
    passwdaT23ddss
    countryDE
    orgBeispielschule
    emailmailadmin@Beispielschule.de

    Um bei unserem Beispiel zu bleiben, geben Sie also folgenden Befehl auf einer Kommandozeile als root ein:
    create_certificate.pl Beispielschule Beispielschule.de schulserver.Beispielschule.de aT23ddss Beispielschule mailadmin@Beispielschule.de

    Nun müssen Sie noch den Webserver mit dem Befehl:
    rcapache restart

    neu starten. Anschließend werden Sie im Browser darüber informiert, dass für https://schulserver ein neues Zertifikat erzeugt wurde - dieses müssen Sie akzeptieren.

    nach oben



     Suchen:


     Umfrage

    (Nur für angemeldete Benutzer)

    Was wird hier am meisten vermisst?

    [ Ergebnis | Umfragen ]

    Stimmen: 621
    Kommentare: 0

     Zitate

    Syntax Error in KUECHE.BAT: KAFFEE.EXE nicht gefunden!

    -- anonymous