Probleme mit rechtevergabe bei unix server

also ich versuche mich zur zeit mit einem unix-server [eher
unfreiwillig :wink:] auseinanderzusetzten und habe nun ein problem.

der order:

home/hannes/

hat den benutzernamen hannes mit der benutzerid 100.

wenn ich nun dort in einem unterordner ein einfaches php skript für
den uplaod einer datei ausführen möchte dann erscheint die
fehlermeldung

Warning: SAFE MODE Restriction in effect. The script whose uid is 100
is not allowed to access /tmp/phprRVy6I owned by uid 0 in
/usr/home/hanne/test/upload.php on line 31

also bedeutet dies ja, dass nur dem root gestattet ist das skript
auszuführen.

dann habe ich über
chown root:root upload.php
in dem ordner die rechte auf root übertragen --> war für mich schon
einmal unlogisch klingt da ich es ja als benutzer hannes ausführen
möchte und nicht nur als root.
soweit hat dies dann auch funktioniert. das problem ist aber nun,
dass es nicht möglich ist ein uploadskript im order A auszuführen,
dass die datei dann im mit php-erstellten ordner B1 oder B2 oder B3
usw. ablegen soll. dabei erscheint wiederum die safe-fehlermeldung.

meine generelle frage dazu ist es nun --> gibt es nicht die
möglichkeit, dass ich dem ordner home/hannes/ einfach alle rechte
geben kann, damit ich dort auch alles als userid 100 ausführen kann
und nicht immer an der shell zuerst wieder auf root umschreiben muss.
bei den webspaceanbietern geht das doch auch, dass man wespace bietet
und dann in dem ordner alles machen kann was man möchte.

wäre wirklich nett wenn mir da jemand weiterhelfen könnte :o)

danke schon einmal … greeze hannes

der order:

home/hannes/

hat den benutzernamen hannes mit der benutzerid 100.

wenn ich nun dort in einem unterordner ein einfaches php
skript für
den uplaod einer datei ausführen möchte dann erscheint die
fehlermeldung

Warning: SAFE MODE Restriction in effect. The script whose uid
is 100
is not allowed to access /tmp/phprRVy6I owned by uid 0 in
/usr/home/hanne/test/upload.php on line 31

mal die Rechte von „/tmp/phprRVy6I“ anpassen?

also bedeutet dies ja, dass nur dem root gestattet ist das
skript
auszuführen.

Nein.

dann habe ich über
chown root:root upload.php
in dem ordner die rechte auf root übertragen --> war für
mich schon
einmal unlogisch klingt da ich es ja als benutzer hannes
ausführen
möchte und nicht nur als root.

Eben. Du baust gerade extreme Sicherheitslücken.

soweit hat dies dann auch funktioniert. das problem ist aber
nun,
dass es nicht möglich ist ein uploadskript im order A
auszuführen,
dass die datei dann im mit php-erstellten ordner B1 oder B2
oder B3
usw. ablegen soll. dabei erscheint wiederum die
safe-fehlermeldung.

Deine Bezeichnungen für die Ordner sind nicht unbedingt der Problemlösung zuträglich, zumal die Struktur/das Rechtesystem unbekannt bleiben.

meine generelle frage dazu ist es nun --> gibt es nicht die
möglichkeit, dass ich dem ordner home/hannes/ einfach alle
rechte
geben kann, damit ich dort auch alles als userid 100 ausführen
kann
und nicht immer an der shell zuerst wieder auf root
umschreiben muss.

Nein. Das Problem ist die temporäre Datei. Wie entsteht se denn?

wäre wirklich nett wenn mir da jemand weiterhelfen könnte :o)

Du solltest deine Shifttaste reparieren und deine Ordner- und Rechtestruktur besser beschreiben sowie erläutern, was die temporäre Datei tut.

Sebastian

Warning: SAFE MODE Restriction in effect. The script whose uid
is 100
is not allowed to access /tmp/phprRVy6I owned by uid 0 in
/usr/home/hanne/test/upload.php on line 31

PHP hat im /tmp diese temporäre Datei (das File, was hochgeladen wurde) angelegt, und kann nun selbst nicht mehr darauf zugreifen, da sie dem Besitzer des tmp-Verzeichnisses gehört.
Dies tritt auf, weil du safe_mode in PHP eingeschaltest hast. Entweder du schaltest safe_mode in der php.ini ab (das einfachste…), oder änderst in der php.ini das Verzeichnis für Uploads auf ein Verzeichnis, was die gehört, z.B. ./tmp, dann wird ein tmp-Unterverzeichnis im Script-Verzeichnis verwendet (dieses Verzeichnis muss chmod 777 sein).

also bedeutet dies ja, dass nur dem root gestattet ist das
skript
auszuführen.

Nein, das Script wird meist vom Benutzer des Webservers ausgeführt (meist apache oder nobody). PHP überprüft, wenn safe mode an ist, ob ein geöffnetes File dem Besitzer des Scriptes gehört.

dann habe ich über
chown root:root upload.php

Das sollte man nicht tun…

meine generelle frage dazu ist es nun --> gibt es nicht die
möglichkeit, dass ich dem ordner home/hannes/ einfach alle
rechte
geben kann, damit ich dort auch alles als userid 100 ausführen
kann

Ein Verzeichnis, wo Dateien von PHP angelegt werden sollen, muss chmod 777 sein.

Alex