Tutorial : Linuxgrundlagen für Webmaster
      
Shopsoftware Shopsystem
  Home     Download     News     Kontakt     Impressum     Sitemap  

Demo-Version   
Häufige Fragen   
Module und Preise   
Wie bestellen   
Support   
AnfrageAnfrage   
TutorialsTutorials
Partnerprogramm   
Über interaktiv.net   
Leistungen   
Referenzen   
Sie sind hier  :  Startseite Support Tutorials
Linuxgrundlagen für Webmaster


Einloggen mit Telnet
Einen Cronjob erzeugen
Einen Prozess starten und sich abmelden
Eine Datei komprimieren
UNIX Dateirechte
CGI - Scripte ausführbar machen
Passworte verschlüsseln
Telnet Session aufzeichnen
Nützliche Kommandos



Einloggen mit Telnet

Wenn Ihr Provider für Sie einen Telnet - Zugang eingerichtet hat, können Sie sich auf dem UNIX- (bzw. LINUX-) Server über Telnet einloggen und UNIX-Kommandos auf dem Server ausführen. Für Windows95/98 und für WinNT gibt es einen Telnet - Client den Sie entweder im Startmenue finden oder über eine Befehlszeile aufrufen können. Sie sehen daraufhin folgendes Bild:

Telnet - Menue

Zum Verbinden mit dem Server klicken sie also auf den gezeigten Menuepunkt und geben bei Hostname den Namen des Servers bzw. dessen IP - Adresse an:

Server angeben

Was nun folgt ist der Prompt an denen Sie Ihren Benutzernamen und Ihr Passwort eingeben müssen - und Sie landen in Ihrem Home - Verzeichnis welches Ihr Provider für Sie eingerichtet hat. Zum Wechseln in ein anderes Verzeichnis innerhalb Ihres Webbaumes benutzen Sie die folgenden Kommandos:

cd ..            wechselt eine Verzeichnisebene höher
cd verzeichnis   wechselt in das gewünschte Verzeichnis
Wenn Sie nicht mehr wissen wo sie sind geben Sie einfach ein:
pwd            zeigt Ihnen den Pfad
Und schließlich kommen Sie mit
cd             bringt Sie in Ihr Homeverzeichnis
immer wieder "heim". Mit dem Kommando
ls             entspricht etwa dem Dir im DOS
können Sie sich die Inhalte der Verzeichnisse auflisten. Es gibt etliche Schalter für dieses Kommando:
ls --help      Die Hilfe wird gezeigt
Beispiele:
ls -l          Langes Ausgabeformat
ls -a          Alle Dateien werden angezeigt
ls -la         Schalter "-l" und "-a" kombiniert
Weitere Kommandos:
md             Anlegen eines Verzeichnisses
rd             Löschen eines Verzeichnisses
cp             Kopieren von Dateien
mv             Bewegen von Dateien
rm             Löschen von Dateien
cat            Inhalt von ASCII Dateien anzeigen

Einen Cronjob erzeugen

Häufig besteht die Aufgabe bestimmte Scripten periodisch ablaufen zu lassen, wenn zum Beispiel der Index einer Suchmaschine mit einem Script täglich neu erstellt werden soll oder andere Aufgaben. Derartiges kann der cron - Dämon für Sie erledigen, das ist ein Dienst welcher im Hintergrund läuft. Sie müssen diesem Dienst nur mitteilen wann er was zu machen hat und das geht mit dem Kommando crontab:
crontab -l     Liste Ihrer Cronjobs
crontab -e     Edit - Modus zum Hinzufügen / Löschen von ...
crontab -r     Remove (Löschen) aller Cronjobs
Mit crontab -e wird der Standardeditor aufgerufen, das ist normalerweise der VI dessen wichtigste Befehle Sie kennen sollten:
i              Schaltet den VI in den Insertmodus
ESC            Schaltet den VI in den Befehlsmodus
x              Löscht ein Zeichen (Befehlsmodus)
:q             Sie verlassen den VI (Befehlsmodus)
:wq            Write + Quit: Verlassen mit Speichen
:q!            Verlassen ohne Speichern
Wenn Sie sich nicht ganz sicher sind mit dem VI üben Sie einfach mit einer Testdatei in ihren Homeverzeichnis. Falls Sie unter Windows Ihre Projekte entwickeln und sich Offline mit dem VI vertraut machen wollen, können Sie sich auch den VI Lovers HomePage WinVi downloaden, installieren und die wichtigsten Befehlsmodi einstudieren.

Der Syntax in der Crontab - Datei sieht so aus:

min std tag mon wotag kommando
Und dazu gleich ein Beispiel:
00  00   *   *   *    perl /home/interaktiv.net/cgi-bin/sicherung.pl
Das Beispiel bewirkt ein tägliches Ausführen des Scriptes "sicherung.pl" um Mitternacht / Null - Uhr. Nachdem Sie also crontab -e am Telnet eingegeben haben landen Sie im VI und geben nacheinander folgendes ein:
  • "i" (um in den Edit - Modus zu kommen)
  • "min std tag mon wotag kommando"
  • "ESC" (um in den Befehlsmodus zu kommen)
  • ":"
  • "wq" (wq hinter dem Doppelpunkt eingeben zum Verlassen mit Speichern)
Den Output des mit crontab gestarteten Befehls (oder Scripts) finden Sie in Ihrer UNIX - mail wieder: hier steht das geschrieben was der Befehl normalerweise auf die Standardausgabe schreiben würde. Das Programm "Mail" rufen Sie am Telnet wie folgt auf:
mail
Mail zeigt eine Liste der Mails, mit der Eingabe der Nummer wird Ihnen die entsprechende Mail anzezeigt. Hinter dem & - Zeichen können Sie auch das "?" eingeben um weitere Hilfe zu bekommen.

Einen Prozess starten und sich abmelden

Manchmal besteht die Aufgabe, einen Prozess oder ein Script auf dem Webserver - Linux -Rechner lediglich zu starten und sich dann gleich wieder abzumelden, insbesondere wenn der Prozess länger dauert, als man Online bleiben möchte. Dazu gibt es für jedes unter UNIX abgesetzes Kommando den Parameter nohup (No Hang Up), welcher einfach an den Befehlsstring drangehängt wird. Um diesen Prozess auch noch in den Hintergrund zu schicken, ist am Ende der Kommandozeile einfach noch das Kaufmanns - Und "&" anzuhängen. Beispielsweise soll das Script "langes_script.pl" gestartet werden und danach gleich die Abmeldung erolgen, der Befehlsstring sähe dann so aus:
perl langes_script.pl nohup &
Die nach dem Absetzen eines derartigen Kommandos angezeigte Prozess - ID z.B.: [1] 19007 kann dabei durchaus notiert werden... nach der Abmeldung läuft das Script weiter.

Eine Datei komprimieren

Komprimieren Sie große Dateien bevor Sie diese übertragen - Sie sparen Zeit und Geld. Wenn Sie zum Beispiel Ihre Logdatei von Zeit zu Zeit vom Server downloaden möchten, bedenken Sie dass diese Datei bereits bei 300 Besuchern Ihrer Site eine Größe von > 1 MB haben kann, denn jeder Zufriff auf ein *.gif erzeugt eine Zeile in dieser Logdatei. Zum Komprimieren einer Datei auf der UNIX - Befehlszeile (Telnet) geben Sie im aktuellen Pfad folgendes ein:
gzip -9 dateiname
Der Schalter -9 bewirkt dabei eine maximale Komprimierung und das Ergebnis ist die gepackte Datei mit einer Endung dateiname.gz. Nach der Übertragung können Sie die Datei wieder auspacken mit der folgenden Kommandozeile:
gzip -d dateiname.gz
Im Ergebnis dessen wird auch der Originaldateiname wieder hergestellt.

UNIX Dateirechte

UNIX Dateirechte beziehen sich auf
Owner (Besitzer)   Group (Gruppe)   All (Welt)
und beinhalten die Rechte:
  • r Read (Lesen)
  • w Write (Schreiben)
  • x Execute (Ausführen)
Dazu gleich ein Beispiel, angenommen das Kommando ls -l zeigt folgende Dateiattribute:
-rwx-wx--x
Den ersten Bindestrich ('-' = Datei, 'd' = Verzeichnis, 'l' = Link) denken Sie sich mal weg und sehen sie es so:
Owner (Besitzer)   Group (Gruppe)   All (Welt)
rwx                -wx              --x
Jetzt dürfte es schon deutlicher werden...
  • Der Besitzer hat Lese- und Schreiberecht und darf die Datei ausführen
  • Die Gruppe darf nur Schreiben und ausführen
  • alle Anderen dürfen nur ausführen
Gesetzt werden diese Attribute mit dem Kommando chmod, der Syntax ist wie folgt:
chmod XYZ dateiname oder
chmod XYZ *.* (alle Dateien)
XYZ ist ein Oktalcode, dabei steht der Wert in
  • X für den Owner
  • Y für die Gruppe
  • Z für alle Anderen
Der Oktalcode in X, Y oder Z errechnet sich als die Summe von
  • 4 für read
  • 2 für write
  • 1 für execute
Die Attribute der Datei aus dem obigen Beispiel wurden also mit dem Kommando
chmod 731 dateiname
gesetzt. Außer mit dem Kommando chmod können die Dateirechte mit fast jedem FTP - Client gesetzt werden, der folgende Screenshot zeigt einen solchen Dialog wie ihn z. B. WinCmD Windows Commander bietet:

Entspricht chmod 666
WinCmd FTP Attribute


CGI - Scripte ausführbar machen

In Perl geschriebene CGI - Scripten müssen mit "chmod 755" ausführbar gemacht werden, sonst meldet der Webserver einen 500er Error. Die Änderung des Mode's kann auf der Befehlszeile genauso erfolgen wie weiter oben beschrieben oder mit der grafischen Oberfläche eines FTP - Client's für Windows. Verbreitet und allgemein beliebt ist auch das Programm WS_FTP und der Vollständigkeit halber ist hier auch noch ein Screenshot, welcher den "Change Mode 755" grafisch beschreibt (Die Datei ist in der rechten Fensterhälfte von WS_FTP mit der rechten Maustaste anzuklicken und aus dem Kontextmenu der Punkt "chmod UNIX" auszuwählen):

Chmod 755


Passworte verschlüsseln

Haben Sie einen Apache-kompatiblen Webserver und möchten für bestimmte Verzeichnisse eine Zugangskontrolle einrichten, so ist dies mit einer Datei .htaccess realisierbar, näheres auf Apache Org.

Kryptisch ist die Verwendung der (Linux)crypt-Funktion auf der Befehlszeile um Passwörter zu verschlüsseln damit diese stets 13stelligen codierten Strings in Passwortdateien eingetragen werden können.


Telnet Session aufzeichnen

Zum Mitschneiden von Befehlsausgaben in einer Telnet-Session bieten die meisten Telnet-Clients die Möglichkeit des Protokollierens. So auch das "Telnet"-Programm von Windows:
Telnet Protokollieren
Nach der Auswahl des o.gezeigten Menupunktes kann der Pfad und der Name eines Logfiles angegeben werden wo alles was auf der Telnet-Befehlszeile passiert dann drinsteht (auch Ausgaben von Dateien).


Nützliche Kommandos

Mit dem Kommando "cat" kann der Inhalt von ASCII-Files ausgegeben werden wie weiter oben schon beschrieben. Handelt es sich jedoch um größere Dateien und soll ggf. nur nach bestimmten Begriffen gesucht werden, so gibt es auch dafür ein paar Möglichkeiten ...

tail -f error_log
Zeigt permanent die letzten Zeilen der Datei "error_log" an.

tail -20 error_log
Zeigt die letzten 20 Zeilen der Datei "error_log".

head -1 access_log
Zeigt die erste Zeile der Datei "access_log"

grep passwd access_log
Zeigt jede Zeile des Zugriffs auf "passwd" (auch versuchte Zugriffe). Der String hinter grep muss nur im Falle von Sonder- oder Leerzeichen in "" gesetzt werden.
interAKTIVnet GmbH
Otto-Lilienthal-Str. 36
71034 Böblingen
Tel. 07031-714740
Fax 07031-714744
info@interaktiv.net