Welcher CHMOD für PHP Scripte

  • Themenstarter Themenstarter Lukasz
  • Beginndatum Beginndatum
L

Lukasz

Welcher CHMOD für PHP Scripte -CHMOD anwenden

Hallo

Ich will eure Zeit schonen, und es dahre kurz machen. Ich kenne mich mit Linux nicht so gut aus. Daher die Frage:
In welchem CHMOD sollte eine PHP Datei leiegen, die später von Gästen betrachtet werden soll. Und in welchem CHMOD sollte eine Datei sein, die verändert werden kann (beschrieben werden kann)?

Liebe Grüsse und Danke für die Infos!

PS Ich frage weil ich mir nicht sicher bin etwas falsch zu machen!
 
Zuletzt bearbeitet von einem Moderator:
Hallo,

es stimmt nicht ganz - das eine Datei 777 haben muss um schreibbar zu sein.
Es kommt immer darauf an WER diese Datei beschreiben will - auch ist hier 7 nicht nötig sondern nur 6 ausserdem ist die 3. 7 nicht von nöten - bzw. sollte NICHT gesetzt werden - soviel vorweg.

Grundsätzlich gilt:
Je weniger Rechte desto Gut.

Wenn man ein PHP-Script -bzw. dessen Ausgabe - nur anschauen will würden theoretisch die Rechte 444 reichen - was aber wenig Sinn macht da der Eigentümer (also die erste Zahl der 3 Zahlen) die Datei auch Schreiben und bearbeiten können sollte bzw. auch muss da es sonst passieren kann das du die Datei nicht mehr bearbeiten und auch nicht mehr löschen oder überschreiben kannst. Also sollten normale PHP-Dateien welche der User über seinen Browser zu Gesicht bekommen soll den CHMOD 644 haben.

Um in eine Datei schreiben zu können muss die Datei mit unter auch für User (das kommt wieder darauf an mit welchen Rechten - bzw. unter welchem Benutzer das Script läuft) schreibbar gemacht werden - also sollten dir Rechte 666 reichen.

Nur mal zur allgemeinen Erklärung von CHMOD.

Die erste Zahl - bedeutet das Recht für den Eigentümer der Datei
Die zweite Zahl - bedeutet das Recht für die Gruppe des Eigentümers
Die dritte Zahl - bedeutet das Recht für den alle anderen (also z.b. die Besucher deiner Site)

Die 2 in den Rechten bedeutet "NUR SCHREIBEN"
Die 3 in den Rechten bedeutet "NUR AUSFÜHREN"
Die 4 in den Rechten bedeutet "NUR LESEN"
Die 5 in den Rechten bedeutet "LESEN" + "AUSFÜHREN"
Die 6 in den Rechten bedeutet "LESEN" + "SCHREIBEN"
Die 7 in den Rechten bedeutet "LESEN" + "SCHREIBEN* + "AUSFÜHREN"

Also nochmal - achte bitte auf die Recht - gib immer so wenig wie nötig - mehr Rechte sind immer potenziell unsicher - vorallem bei nicht so sauberer Programmierung (Stichwort Parameterübergabe über die URL etc.)

So nun hoffe ich das ich dir einen Einblick in die Rechtevergabe unter Linux geben konnte.
 
Also vielen Dank euch beiden! Das war wirklich eine Super Hilfe. Da du dwex davon berichtest, es immer darauf ankommt, welches Recht welcher Gruppe angehört. Soweit verständlich. Aber gibt es in PHP die Möglichkeit sich als Besitzer zu atuhentifizieren? Oder als Gruppe. Und wenn ja, wie ist das zu realisieren?

Ich meine kann ich im Script ein Ordner oder Datei der nur von Besitzer beschreibbar ist Zugriff erlangen, in dem ich irgendwie sagen kann, hallo ich bin der Besitzer?

Grüsse und wirklich mega Dank für eure Hilfe!
 
Zuletzt bearbeitet von einem Moderator:
Hallo,

du kannst dich nur authentifizieren (unter linux - unter windows weiss ich das nicht) wenn du auch tatsächlich der Besitzer bist (Benutzername und Passwort) - ob das in PHP funkt weiss nicht.
 
Das ist ein sehr heikles Thema. Idealerweise sollte ein Benutzer beim Webspace folgende Voraussetzungen haben, damit etwas sicher und ohne Probleme funktioniert.

FTP -> Benutzer "Meier"
PHP -> Benutzer "Meier"
(Hat nur Zugriff auf seine Daten)

FTP -> Benutzer "Müller"
PHP -> Benutzer "Müller"
(Hat nur Zugriff auf seine Daten)

Um das zu erreichen verwendet man SuPHP, allerdings funktioniert das nur in der CGI-Variante von PHP - und die ist bekanntermassen unsicherer als das Apache-Modul.

Meist hat man nun bei vielen Hostern folgendes:

FTP -> Benutzer "Meier"
PHP -> Benutzer "nobody" (oder sonstiger Benutzername)
(Jeder Kunde kann ohne weitere Konfiguration des Systems/ Rechte der Dateien alle Daten des anderen Nutzers per PHP auslesen.)

Dadurch ändern sich natürlich - wie bereits erwähnt - die Bedingungen für ein PHP-Script um Fehlerfrei zu funktionieren. Schlagwort sind hier z. B. php.ini, base_dir
 
Zurück