„Chmod“ setzen, aber richtig…

Original geschrieben von 409coffeemaker
Die Entschuldigung nur, da ich das Gefühl habe manchmal durch das eindringlichen Fragen zu nerven ;).
 

Also ich lasse mich gerne von jemand nerven der sich selbst aktiv an der Lösungsfindung zu seinem Problem beteiligt.
Zum Kotzen finde ich Leute die glauben das Internet ist der Platz wo man alles Wissen einfach so gratis frei Haus geliefert bekommt.

Zurück zu den Rechten, vielleicht hilft ja auch ne kleine Übersicht.
Ich hab das ausgedruckt in Sichtweite hängen:


Person:   Eigentümer   Gruppe   Welt
Recht:   r w x   r w x   r  w x   
4 2 1 4 2 1 4 2 1

Grrr, Formatierung verrutscht, aber ich glaube es ist nachvollziehbar...

Befehle dazu:

chmod xxx Dateiname
(Rechte an der Datei verändern)

chown Name(uid) Dateiname
(Einen User als Eigentümer der genannten Datei festlegen)


Grüsse,
Flo
 
Original geschrieben von 409coffeemaker
Ok, dann wohl doch die Learning by Doing Methode…


Die beste...

Zählt das Parsen von PHP Dateien und die zb dateikopierende Funktion um „ausführen“, d.h. muss die PHP Datei ausführbar sein? Ja oder?

? Ausprobieren, ich würde mal spontan nein sagen.

Ok, das ist doch mal ein Wort. Dann setze ich die html,css,js Dateien schon mal direkt auf 644.

Das sollte keine Funktionseinbussen geben.
Halte uns doch auf dem Laufenden.

Grüsse,
Flo
 
Original geschrieben von lengsel
Soviele 7er halte ich aus grundsätzlichen Sicherheitsgedanken heraus für riskant. Denk dran Rechte so restriktiv wie möglich zu vergeben. Ich kann mir nicht vorstellen dass "Gruppe" überall zwingend 7er Rechte haben muss. Und selbst für Owner reicht i.d.R. 6 weil die meisten Dateien ja nicht ausführbar sind, mithin also das 1er Recht nicht brauchen.
Statische Seiten (html,css) haben bei mir grundsätzlich 644.
 

restriktiv: JA
aber warum schreibst du dann deine statischen Seiten haben 644? :confused:

Nochmal zum user: wie bereits oben geschrieben, bin ich nicht mit deiner "Welt"ansicht einverstanden:
Ein User am Browser ist gegenüber dem System als apache unterwegs! Wenn also die dateien, statisch oder dynamisch, dem user apache gehören, sehe ich absolut keinen Grund die Gruppen und others rechte zu setzen:
! Daher, wie bereits erwähnt, statische seiten z.B. 600.

Ok, das ist doch mal ein Wort. Dann setze ich die html,css,js Dateien schon mal direkt auf 644.

wie gesagt: wenn dateien apache gehören: 600

Dann bleiben noch die PHP Dateien, die setze ich dann auf 744.

Nein, überleg dir mal: das widerspricht sich ja... warum sollen others die datei lesen dürfen, aber nur der owner darf die datei starten?? :confused: das würde ja mit Flo's Variante gar nicht funktionieren...
daher: 700
 
Original geschrieben von maze79
aber warum schreibst du dann deine statischen Seiten haben 644?
 

Weil bei mir die Dateien den jeweiligen Usern auf dem System gehören.
User xy lädt Datei index.htm in "sein" Verzeichnis hoch. Folglich ergeben sich folgende Rechte:
xy bekommt als Eigentümer 6.
Die Gruppe zu der xy gehört bekommt 4.
Der Rest der Welt, zu dem auch der User Apache gehört, bekommt auch 4, da er nicht in der selben Gruppe ist wie xy, die index.htm aber lesen können muss.

Oder habe ich da was falsch verstanden?

Fakt ist dass in diesem Fall 600 dazu führen würde dass Du beim Aufruf von index.htm im Browser 403 (Forbidden) zu sehen bekommen würdest.
Ich habe es ausprobiert.

Grüsse,
Flo
 
Original geschrieben von lengsel
 

Weil bei mir die Dateien den jeweiligen Usern auf dem System gehören.
User xy lädt Datei index.htm in "sein" Verzeichnis hoch. Folglich ergeben sich folgende Rechte:
xy bekommt als Eigentümer 6.
Die Gruppe zu der xy gehört bekommt 4.
Der Rest der Welt, zu dem auch der User Apache gehört, bekommt auch 4, da er nicht in der selben Gruppe ist wie xy, die index.htm aber lesen können muss.

Oder habe ich da was falsch verstanden?

Fakt ist dass in diesem Fall 600 dazu führen würde dass Du beim Aufruf von index.htm im Browser 403 (Forbidden) zu sehen bekommen würdest.
Ich habe es ausprobiert.

Grüsse,
Flo
 

Jep. Mit dieser Konstellation hast du vollkommen recht! :)

Dann sind wir uns ja einig. Sollte coffee also auch seinen eigenen User haben und apache greift über die others-rechte zu, muss er darauf achten dass er die others auf 5 setzt (also: 755 statt 744). sonst kann apache nämlich die php-files nicht ausführen.

Grüsse und noch einen schönen Abend
maze
 
Original geschrieben von maze79
Jep. Mit dieser Konstellation hast du vollkommen recht! :)

Dann sind wir uns ja einig.


Ich denke dass gerade bei Shared-Hosting Servern dieses Szenario Standard sein dürfte.

Sollte coffee also auch seinen eigenen User haben und apache greift über die others-rechte zu, muss er darauf achten dass er die others auf 5 setzt (also: 755 statt 744). sonst kann apache nämlich die php-files nicht ausführen.

Nein, die können auch auf 4 stehen, ich habe es gerade ausprobiert weil ich es selbst nicht glauben konnte.
Reicht der PHP-Engine Leserecht um verarbeiten zu können?
Aus PHP werde ich wohl nie schlau werden...seltsame Sprache.
Wahrscheinlich bin ich einfach zu doof dafür.

Anders bei CGIs, die benötigen unbedingt die Rechte zum ausführen, da sonst der Interpreter (i.d.m.F. Perl) nichts machen darf.
Das gibt dann den klassischen "Internal Server Error".
CGI, da weiss man was man hat.
Logisch nachvollziehbar und verständlich, speziell beim Thema warum muss was welche Rechte haben, nicht so Voodoo wie bei PHP.

Grüsse,
Flo
 
Original geschrieben von lengsel

Nein, die können auch auf 4 stehen, ich habe es gerade ausprobiert weil ich es selbst nicht glauben konnte.
Reicht der PHP-Engine Leserecht um verarbeiten zu können?
Aus PHP werde ich wohl nie schlau werden...seltsame Sprache.
Wahrscheinlich bin ich einfach zu doof dafür.

Anders bei CGIs, die benötigen unbedingt die Rechte zum ausführen, da sonst der Interpreter (i.d.m.F. Perl) nichts machen darf.
Das gibt dann den klassischen "Internal Server Error".
CGI, da weiss man was man hat.
Logisch nachvollziehbar und verständlich, speziell beim Thema warum muss was welche Rechte haben, nicht so Voodoo wie bei PHP.

Grüsse,
Flo
 

OK, schon wieder was gelernt.. ich selbst bin mit perl unterwegs und da brauchst du halt mal das x-flag. verstehe zwar nicht ganz warum das bei php nicht der fall ist, aber wie du sagst:
Aus PHP werde ich wohl nie schlau werden...seltsame Sprache.
:D
 
Hi Coffee,

darf ich hier mal einfach so ungefragt hineinschneien und eine grundsätzliche
Frage zu dem Thema abgeben?

Warum willst Du Dein Skript per Rechtevergabe "schützen" bzw. vor wem?

PHP Skripts werden, wie Du sicherlich weißt, nach einer Anfrage des Clients,
also demjenigen, der die Seite aufruft, vom PHP Parser kompiliert und als
Datei mit HTML-Code wiederzurückgeschickt. PHP Skripts können daher
nicht per Browser eingesehen werden - das ist ja das Tolle an diesem
Konzept.

Die einzige mir bekannte Möglichkeit, wie man sich Zugang zu PHP-Skripten
auf einem Server verschaffen kann, ist per FTP - und wenn es soweit ist,
dann helfen auch dateispezifische Rechte nichts.

Oder ... wenn Du mit einer Art User-Verwaltung arbeitst und Dir durch die
Rechtevergabe erhoffst, dass nur bestimmte Personen bestimmte Aktionen
ausführen bzw. aufrufen dürfen, ist das der falsche Ansatz. Eine User-
Verwaltung sollte immer mit dem Mittel bzw. der Skript-Sprache realisiert
werden, in der auch der Rest des Projektes geschrieben ist. Nur somit lässt
sich eine natlose Integrierung der User-Verwaltung erreichen.

Es kommt also darauf an, vor wem Du Deine Dateien schützen möchtest!


Gruß
Delmar
 
Hi Delmar,


schützen eigentlich vor niemandem…

Ich musste halt den Ordnern Zugriffsrechte geben, da man sonst dort keine Dateien hochladen konnte.

Das hatte ich dann per Script erledigt, da ich keine Lust hatte, alles per Hand im FTP Client zu erledigen.

Und der Vollständigkeit halber dachte ich, setze ich doch mal für alle Dateien korrekte Flags.

Liebe Grüße

Coffee
 
OK, dann ist alles klar. Jedoch ist es nicht nötig, auch die Dateien mit
individuellen Rechten zu versehen. Es reichen die Ordner, mit bzw. in
denen "gearbeitet" wird völlig aus.


Gruß
Delmar
 
Zurück
Oben Unten