Nutzerrechte für php-Skript

Post Reply
Message
Author
elvizz

Nutzerrechte für php-Skript

#1 Post by elvizz »

Ich habe apache mit mod_php4 laufen und will von einem verzeichnis im htdocs verzeichnis eine datei in einem anderen verzeichnis, dass sich jedoch auch im verzeichnis htdocs befindet ändern. Der PHP-Skript (Ein Gästebuch) funktioniert, ich habe ihn schon auf einem HTTP-Server unter Windows laufen gehabt. Wenn ich nun aber auf Linux versuche in die Datei zu schreiben, dann tut er es nicht. Ich denke, dass das an den nutzerrechten liegt, den da blick ich echt nicht durch. kann einer helfen? Die Dateien hatten alle Besitzer root, gruppe root und später habe ich auch wwwrun und nobodx versucht - mit dem erfolg, dass nun nicht einmal mein anderes skript, mit include(verrzeichnis/datei) darauf zugreifen kann.

Thorsten

Re: Nutzerrechte für php-Skript

#2 Post by Thorsten »

Am einfachstem wäre es, wenn du der Datei die Rechte "777" gibst, allerdings auch am unsichersten. (777 == Jeder alle Rechte)
Besser ist es, wenn es in deiner Umgebung machbar ist, dass du das File dem Webserver als Eigentümer übergibst.
Evt. benötigt der Webserver auch auf das Verzeichnis schreibrechte.

Gruß

Thorsten

rag
Posts: 24
Joined: 24. Jan 2002 10:37

Re: Nutzerrechte für php-Skript

#3 Post by rag »

Hi elvizz,

setze die Rechte nicht auff 777.. das ist nitt so gut da others alle rechte hätten und wer will das schon.. Wenn Dein Script diese Datei anlegt tut sie das aus user apache (oder wie Du ihn auch immer genannt hast) der user apache ist user der gruppe apache usw. Wenn Du die Dateirechte auf 775 setzt reicht das völlig aus.

Was für eine Fehlermeldung bekommst Du denn? Überprüf alle Pfade die auf diese Datei verweisen und poste sonst die Fehlermeldung mal hier rein.

MFG
raG
-*-
<-there is no life before coffee->
-*-

Rossi

Re: Nutzerrechte für php-Skript

#4 Post by Rossi »

Muß das Skriptverzeichnis nicht einfach nur die Rechte des Webservers haben ? Wenn Dein Webserver als nobody/nogroup läuft, sollte ein "chown -R nobody.nogroup phpdir" und "chmod -R 750 phpdir" es eigentlich tun. Test mal aus.

elvizz

Re: Nutzerrechte für php-Skript

#5 Post by elvizz »

Alles klar, habe getestet, habe zuerst mal auf 777 gesetzt, damit ich weiterprogrammieren kann, werd mich der Sache aber mal annehmen und es auf etwas sicheres umstellen. Wie geht das eigtl. genau mit den Nutzerrechten, was bedeuten diese Zahlen?

rag
Posts: 24
Joined: 24. Jan 2002 10:37

Re: Nutzerrechte für php-Skript

#6 Post by rag »

Also... mit den Rechten sieht es folgendermaßen aus.

Die Rechte bestehen aus drei Teilen.
Die erste Zahl steht für den "User/Owner", die zweite für die "Group" und die dritte Zahl für "Ohters", also für alle anderen.

Der jeweilige Wert der Zahl beschreibt welche Rechte der jeweilige User auf die Datei oder Verzeichnisse hat.

Diese Zahlenwerte sind so aufgeteilt:

0: keine Rechte

1: nur ausführen

2: nur schreiben

3: lesen und schreiben

4: nur lesen

5: lesen und ausführen

6: lesen und schreiben

7: lesen, schreiben und ausführen

Was bedeutet, das wenn Du ein Datei auf 777 setzt, "User/Owner" (erste 7), "Group" (zweite 7), Others (dritte 7) diese Datei lesen, schreiben und ausführen dürfen. Was bei einem Webserver natürlich nicht so toll ist ;)

Bei 775 darf der "User/Owner" lesen, schreiben und ausführen (erste 7). Die Group darf lesen, schreiben und ausführen (zweite 7). Alle anderen "Others" dürfen diese Datei nur lesen und ausführen, aber nicht schreiben! Was den Vorteil hat das nicht irgendwelche LEute dir die Files löschen :)

Irrtum ist natürlich vorbehalten (zu Olli schiel *g*).

Viel spaß damit :)

Gruß
raG
Last edited by rag on 13. Feb 2002 16:40, edited 1 time in total.
-*-
<-there is no life before coffee->
-*-

trinity
Posts: 821
Joined: 12. Oct 2001 10:04

Re: Nutzerrechte für php-Skript

#7 Post by trinity »

@R.Griebel
Tja da hat sich wohl noch ein Fehlerchen eingschlichen
rwx
000 = 0 = keine Reche
001 = 1 = nur ausführen
010 = 2 = nur schreiben
011 = 3 = _schreiben_ und _ausführen_
100 = 4 = nur lesen
101 = 5 = lesen und ausführen
110 = 6 = lesen und schreiben
111 = 7 = lesen, schreiben und ausführen
"Korrekt, Freundlich, Kostenfrei", wähle genau zwei. (Lutz Donnerhacke in dcsf)

rag
Posts: 24
Joined: 24. Jan 2002 10:37

Re: Nutzerrechte für php-Skript

#8 Post by rag »

@Lutz
Stimmt, ich bitte alle Beteiligten wegen meiner Schlampigkeit um Entschuldigung ;)

Gruß
raG
-*-
<-there is no life before coffee->
-*-

elvizz

Re: Nutzerrechte für php-Skript

#9 Post by elvizz »

Danke Leute, endlich weiss ich, was diese vielen Zahlen Bedeuten. Wie ist es eigt, wenn ich ein Verzeichnis einem Nutzer gegeben habe, z.B. das Verzeichnis /elvizz/ gehört Nutzer elvizz und hat 700, kann dann ein anderer Nutzer auf die Unterverzeichnisse zugreifen, wenn sie entsprechende Rechte gesetzt haben oder gilt dann jede Sperre auf dem "Weg" dahin (Ich mein mit "weg" die Verzeichnisse, durch die man muss)??

schizo
Posts: 2
Joined: 20. Feb 2002 2:58

Re: Nutzerrechte für php-Skript

#10 Post by schizo »

Hallo,
soweit ich weiß, reicht es aus, wenn Du der betreffenden Datei, in die auch ein anderer schreiben darf,
die Schreibrechte gibst. Das Verzeichnis, in dem die Datei liegt, muss keine extra Schreibfreigabe haben,
denn da geht es nur darum, ob ein anderer Nutzer auch NEUE Dateien im Verzeichnis speichern darf.
Da ich mir aber nicht ganz sicher bin (habe selbst ein Problem mit Dateirechten, siehe Beitrag "Dateirechte ändern sich von selbst ?!?!"), bin ich für jede Korrektur dieser Antwort dankbar!
mfG Schizo

Rossi

Re: Nutzerrechte für php-Skript

#11 Post by Rossi »

Bei 700 kann kein anderer Benutzer das Verzeichnis öffnen, also auch nicht auf die darunter liegenden zugreifen. Um ein Verzeichnis zu öffnen, braucht ein Benutzer (Gruppe, Welt) r-x (5) oder eben rwx (7).

Bin mir nicht sicher, aber wenn ein Verzeichnis -wx (3) hat, kann er theorethisch eine Datei da rein schreiben (z.B.: touch /verzeichnis/datei), aber den Inhalt des Verzeichnisses nicht sehen (da kein Leserecht).

Weiterhin, und das ist wichtig, wenn ein Benutzer auch Schreibrechte auf ein Verzeichnis hat rwx (7), dann kann er da Dateien löschen, auch wenn er auf dieser Datei kein Schreibrecht hat, weil er die Rechte vom Verzeichnis erbt. Allerdings kann er keine Unterverzeichnisse löschen, auf die er keine Schreibrechte hat. Da klappt die Vererbung komischerweise nicht.

Saudumm, aber ist so.

Post Reply