FAQ
Wie kann ich Dateiattribute erkennen und verändern?
Falsche Zugriffsrechte sind meist der Hauptgrund für nicht funktionierende CGI-Skripts. Deshalb ist es sehr wichtig, die Möglichkeit zu haben, die Zugriffsrechte einer Datei zu erkennen und wenn diese falsch sind, natürlich auch zu verändern.
Es treten im Browser Fehlermeldungen wie z.B.
Forbidden
You don't have permission to access /cgi-bin/formmail.pl on this server.
auf, die dann nicht auf ein fehlerhaftes Skript zurückzuführen sind, sondern auf falsche Zugriffsrechte.
Der Befehl chmod ist sehr wichtig, um CGI-Skripte zum Laufen zu bringen. Mit chmod in einer ssh Shell werden die Zugriffsrechte vergeben. Ein CGI-Skript muss ausführbar gemacht werden, um zu laufen. Viele andere Dateien müssen mit Schreibrechten versehen werden, damit sie beschrieben werden können (z.B. die *.htm Datei eines Gästebuchs usw.).
Wir geben Ihnen im Folgenden einen kurzen Überblick zur generellen Anwendung von chmod.
Zugriffsrechte erkennen
Wenn Sie im Telnet-Prompt Ihres Servers den Befehl
ls -fal
eingeben, bekommen Sie eine Auflistung aller Dateien in dem aktuellen Verzeichnis mit den dazugehörigen Zugriffsrechten, z.B. in dieser Form :
r = read access (lesen)
w = write access (schreiben)
x = execute access (ausführen)
x-Rechte erlauben Ihnen Programme/Scripts laufen zu lassen.
Achtung! Verzeichnisse müssen x-Rechte haben, damit Sie sie mit cd betreten und benutzen können. Außerdem tragen Verzeichnisse ganz vorne das Zusatz-Tag "d" für "Directory".
Die ersten 3 Zeichen sind Ihre Zugriffsrechte (user), die zweiten 3 Zeichen sind die Ihrer Gruppe (group) und die letzten 3 Zeichnen gelten für jeden anderen (others).
user = sind Sie selber.
group = ist Ihre Gruppe von Benutzern.
others = sind alle Anderen.
In unserem obigen Beispiel wäre dies für das formmail.pl-Skript z.B.
user | group | others | |
rwx | x | x | formmail.pl |
d.h. der user kann hier lesen/schreiben/ausführen, die group und others können die Datei nur ausführen.
Zugriffsrechte setzen / ändern
Nun kommt der Befehl chmod zum Einsatz. Sie haben zwei Möglichkeiten, chmod anzuwenden. Relativ oder Absolut. Bei der relativen Anwendung von chmod arbeiten Sie mit Buchstabenkombinationen, bei der absoluten Anwendung arbeiten Sie mit Oktalzahlen.
Die relative Benutzung von chmod
Bei der Verwendung von Buchstaben mit chmod gelten folgende Zuordnungen:
Benutzer | Zugriffsrechte |
u = user/owner | r = read access (lesen) |
g = group | w = write access (schreiben) |
o = others | x = execute access (ausführen) |
a = alle |
Folgen Sie bitte der folgenden Syntax:
chmod Benutzer+/-Rechte DATEINAME
Mit "+" wird ein Zugriffsrecht gegeben, mit "-" genommen.
Benutzer und Rechte können kombiniert eingegeben werden (z.B. ug für user (Besitzer und Gruppe).
Hier noch ein paar Beispiele für den relativen Gebrauch von chmod zum besseren Verständnis:
chmod a+w DATEINAME = jeder darf die Datei ändern
chmod a+x DATEINAME = Alle (auch CGI-Scripts) dürfen das Programm ausführen
chmod go-r DATEINAME = aus der Gruppe oder der anderen darf die Datei lesen
Die absolute Benutzung von chmod
Eine andere Methode chmod zu benutzen, ist die Verwendung von Zahlen für die Zuordnung von Zugriffsrechten. Dazu werden Zahlen im Oktal-System verwendet, die von 0 - 7 gehen.
Bei der Verwendung von Oktal-Zahlen mit chmod gelten folgende gebräuchliche Zuordnungen:
Oktal-Zahl | Zugriffsrechte |
777 | Lese- Schreib- und Ausführbar-Recht für alle |
775 | Lese- und Ausführbar-Recht für alle, Schreibrecht nur für user und group |
666 | Lese- und Schreib-Recht für alle. |
664 | Lese-Recht für alle, Schreib-Recht für user und group |
Folgen Sie bitte der folgenden Syntax:
chmod xxx DATEINAME
Hier noch ein paar Beispiele für den absoluten Gebrauch von chmod zum besseren Verständnis:
chmod 775 DATEINAME = normale Zugriffsrechte für ausführbare Programme
chmod 666 DATEINAME = Schreib- und Lese-Rechte für alle
Sie brauchen Hilfe?
0421 4089-000