Tests

Vorstellung: ftpCHMOD 1.0

Name : ftpCHMOD Version : 1.0
Vertriebsform : Freeware Genre : FTP
Fundort : comm/tcp/ftpchmod.lha Programmierer : Chris Young

Nicht alle FTP-Programme fürs AmigaOS bieten die Möglichkeit, die Dateiflags zu ändern. Unter anderen für CGI-Programme ist es aber nötig, dass bestimmte Flags gesetzt und andere gelöscht sind, damit die Programme auf dem Server von anderen zwar ausgeführt aber nicht verändert werden können. Hier springt das Shell-Programm "ftpCHMOD" von Chris Young ein.

Die Dokumentation des Programms gibt leider nicht an, ab welcher OS-Version und mit welchen TCP/IP-Stacks es läuft. Testen konnte ich es nur mit AmigaOS V3.0 und AmiTCP V4.3 auf einen A1200 mit 68030 Prozessor. Bei dieser Konfiguration gab es keine Probleme.

Im Archiv des Programms sind drei Dateien enthalten:

Zur Installation braucht also nur die ausführbare Datei "ftpCHMOD" nach C: oder in ein anderes Verzeichnis kopiert werden, das sich im Suchpfad der Shell befindet.

Mit

    ftpCHMOD 755 webspace.domain.net/cgi-bin/mailform.cgi USER username PASS password
  

(eingegeben in einer Zeile) können dann die für CGI-Programme nötigen Dateiflags gesetzt werden.

Wenn dabei alles erfolgreich abläuft werden die folgenden Meldungen ausgegeben:

      Looking up host...
      Attempting to connect...
      Logging in...
      Changing directory...
      Setting permissions...
      200 CHMOD command successful.
  

Entscheidend ist dabei die letzte Zeile mit "200 CHMOD command successful.". Nur wenn diese ausgegeben wird, nur dann wurden die Dateiflags erfolgreich geändert. Da in Fehlerfällen in der Regel keine auffällige Fehlermeldung angezeigt wird, empfiehlt es sich, auf diese letzte Zeile zu achten. Ich dachte schon mehrmals, dass alles OK sei, weil keine Fehlermeldung kam und hatte mich dann gewundert, dass das CGI-Programm nicht laufen wollte.

Im einzelnen unterstützt ftpCHMOD folgende Parameter:

    Template: CHMOD/N/A,PATH/A,USER/K/A,PASS/K/A,PORT/K/N
  

Mit PATH wird der Server inklusive dem Pfad und Dateinamen der Datei angegeben, deren Flags geändert werden sollen.

USER und PASS entsprechen den Angaben, die man auch zum Einloggen angibt.

Mit PORT läßt sich eine andere Portnummer angeben, falls der FTP-Server nicht auf dem FTP-Standard-Port 21 läuft.

Entscheidend ist der CHMOD-Parameter. Dessen drei Ziffern legen jeweils fest welche Flags für den Besitzer der Datei, der Gruppe und den Anderen gesetzt wird. Besitzer ist dabei jeweils die Person, die die Datei erzeugt bzw. auf dem Server kopiert hat. Gruppe sind die Leute, die zu der Gruppe des Servers gehören, der man selbst angehört - diese werden vom Administrator des Systems festgelegt. Und die Anderen sind alle übrigen UserInnen auf der Welt.

Den Flags sind folgende Zahlenwerte zugeordnet:

Besitzer Gruppe Andere
Lesbar 4 4 4
Schreibbar 2 2 2
Ausführbar 1 1 1

Um die gewünschten Flags zu setzen, müssen nur die Zahlen der jeweiligen Spalte addiert werden. Beispiele:

400 Der Besitzer kann die Datei lesen alle anderen können gar nicht auf sie zugreifen.
610 Der Besitzer kann die Datei lesen(4) und sie verändern(2). Die Gruppe kann die Datei ausführen(1) und alle anderen haben keinen Zugriff auf die Datei.
755 Der Besitzer kann die Datei lesen(4), verändern(2) und ausführen(1). Alle anderen können sie lesen(4) und ausführen(1) - dies ist die gängige Einstellung für CGI-Programme.

Eigentlich sollte man zwar keine Paßwörter auf der Festplatte speichern, aber um mir die Arbeit einfacher zu machen, benutze ich ein ALIAS (siehe AmigaDOS-Dokumentation) für den jeweiligen FTP-Server, um nicht immer wieder alles eintippen zu müssen. Definiert werden die ALIAS am besten in der S:User-Startup Datei (wieder jeweils in einer Zeile):

    ALIAS fchmod ftpCHMOD 755 webspace.domain.net/cgi-bin/[] USER dipdab PASS duda
  

Damit reicht ein "fchmod mailform.cgi" zum Ändern der Flags.

Ursprünglich hatte Chris Young vor, FTPMount so zu erweitern, dass man damit auch die Dateiflags beeinflussen kann. Warum dies noch nicht der Fall ist, verrät die Dokumentation zwar nicht, aber eine entsprechende Erweiterung ist, laut Dokumentation, weiter in Planung.

(Sven Drieling, September 1999)

Zurück