Dateirechte bei Unix (chmod)
Charles
- webserver
Hallo,
es geht noch mal wieder um die Dateirechte auf Unix.
Ich weiß, da gab es schon mal einen ausführlichen Thread:
http://forum.de.selfhtml.org/archiv/2004/9/t89774/
Aber mir ist trotzdem auch nach ausführlicher Lektüre noch einiges völlig unklar, nachdem ich jetzt im Forum meines Providers den Hinweis gefunden habe, dass Dateirechte serverseitig bei HTML-Dateien auf 740 gesetzt werden. Was heißt denn dann aber "740", doch nach meinem Verständnis: Besitzer darf lesen, schreiben, ausführen. Gruppe darf lesen, andere dürfen nichts.
Andere dürfen nichts? Aber jeder kann doch die Datei übers WWW lesen (wie ich mich bei allen HTML-Dateien mit 740-Rechten überzeigt habe.)
Verwirrt ob bisheriger Erklärungen und dankbar für nachvollziehbare Erläuterungen,
Charles
Hi,
Was heißt denn dann aber "740", doch nach meinem Verständnis: Besitzer darf lesen, schreiben, ausführen. Gruppe darf lesen, andere dürfen nichts.
korrekt.
Andere dürfen nichts? Aber jeder kann doch die Datei übers WWW lesen
Hier liegt Dein Irrtum. Niemand im WWW greift auf irgend welche Dateien zu - sondern nur auf Ressourcen. Der Zugriff erfolgt auf einen Server, also auf ein Programm, welches auf irgend einem Rechner läuft.
Dieses Programm greift auf Dateien zu.
_Nur_ dieses Programm. Und das Programm läuft unter _einem_ User und unter _einer_[1] Gruppe. Sind weder dieser User noch diese Gruppe in Besitz der betreffenden Datei, kann niemand im WWW die enstprechende Ressource erhalten. Genügen die Rechte, kann es jeder, denn dieser "jeder" ist genau einer: der Server.
Cheatah
[1] Reell betrachtet.
echo $begrüßung;
Aber mir ist trotzdem auch nach ausführlicher Lektüre noch einiges völlig unklar, nachdem ich jetzt im Forum meines Providers den Hinweis gefunden habe, dass Dateirechte serverseitig bei HTML-Dateien auf 740 gesetzt werden. Was heißt denn dann aber "740", doch nach meinem Verständnis: Besitzer darf lesen, schreiben, ausführen. Gruppe darf lesen, andere dürfen nichts.
Ausführbar müssen nicht alle Arten von Dateien sein. PHP-Dateien beispielsweise benötigen dieses Recht im Allgemeinen nicht. Sie werden aus Sicht des Dateisystems nur gelesen. Das Ausführen übernimmt dann das PHP, ohne auf dieses Recht zu achten. Wenn allerdings das Ausführen-Recht benötigt wird, wie beispielsweise bei Perl-CGI-Scripten, so braucht es natürlich auch die Gruppe und/oder die anderen, falls der Ausführende nicht der Besitzer selbst ist. Es ist relativ unsinnig, wenn nur der Besitzer das Ausführen-Recht hat, und es auch wirklich benötigt wird, und anderen nur Lese-Rechte gibt. (Es mag für diese Konstellation auch Anwendungsfälle geben, aber die Regel dürfte das nicht sein.)
Andere dürfen nichts? Aber jeder kann doch die Datei übers WWW lesen (wie ich mich bei allen HTML-Dateien mit 740-Rechten überzeigt habe.)
Die Kennung, die der Webserver für "jeder" verwendet dürfte Mitglied der Gruppe sein. Vielleicht ist sie auch Besitzer der Dateien. Neben den Rechten sind also auch immer noch die Angaben zu Benutzer und Gruppe zu beachten.
echo "$verabschiedung $name";