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:
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:
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
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.
Windows Commander bietet:
Entspricht chmod 666
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):
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:
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.
|