PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : mächtiges problem, dateien



robiotor
15-07-2004, 22:14
das php script rennt in der console per cron als root

in das script steht unter andem


chdir("/home/username");

das funktioniert auch ganz gut, mache ich aber


chdir("/home/username/anderesdir");

mag es nicht funktionieren, jemand eine idee hierfür ?


desweiteren mache ich auch dieses hier


$fp1 = @fopen("/home/username/foo.conf", "w+") or die ("Kann Config Datei nicht lesen.");
....

das geht wunderbar, mache ich aber


$fp1 = @fopen("/home/username/anderesdir/foo.conf", "w+") or die ("Kann Config Datei nicht lesen.");
....

geht es nicht da sagt er immer Kann Config Datei nicht lesen. Ich habe alles probiert w,w+,a,a+,r+

ich habe die rechte geändert von /home/username auf root:root und auch mal als user, bei beides habe ich die problemme

wäre super wenn mir einer mal helfen würde

Hans-Georg Normann
15-07-2004, 23:29
Klingt für mich nach einem Rechte Problem. Wie sieht denn die Berechtigung für den Ordner /home/username/anderesdir aus?

(ls -ld /home/username/anderesdir)

Hans

robiotor
16-07-2004, 05:14
drwx------ 4 b001_1 b001_1 4096 Jul 16 01:54 /home/b001_1/
und
drwxr-xr-x 11 b001_1 b001_1 4096 Jul 16 01:25 /home/b001_1/bnc_54416/

Hans-Georg Normann
16-07-2004, 09:56
Hmm, macht mich auch nicht schlauer. :confused:

Ich bin zwar kein PHP Crack aber ich finde dein Script hat einen "Schönheitsfehler". Mit .....} or die {"kann Configdatei nicht lesen"} erzeugst du eine Fehlermeldung, die ziemlich nichtssagend ist. Wie wäre es, wenn du die $PHP_ERRORMSG (zusätzlich) ausgeben lässt? Ich hoffe das geht.

Hans

robiotor
16-07-2004, 13:39
Hmm, macht mich auch nicht schlauer. :confused:

Ich bin zwar kein PHP Crack aber ich finde dein Script hat einen "Schönheitsfehler". Mit .....} or die {"kann Configdatei nicht lesen"} erzeugst du eine Fehlermeldung, die ziemlich nichtssagend ist. Wie wäre es, wenn du die $PHP_ERRORMSG (zusätzlich) ausgeben lässt? Ich hoffe das geht.

Hans

die fehlermeldung ist im prinzip scheis egal was da steht. wichtig ist es das es ned sein kann und darf

undefined
16-07-2004, 15:32
Das kann nicht gehen, PHP Benutzt die Rechte des Servers ;)
Wenn du als Benutzer darauf zugreifen möchtest must du in der Gruppe des Webserver liegen (auch genauso umgekehrt) und die chmod rechte entsprechend Vergeben sein.
Welcher Apache 1.* oder 2.* und wenn 2 hast du suexec wrapper Aktiviert?

robiotor
16-07-2004, 15:48
ich habe geschrieben "das php script rennt in der console per cron als root", lesen scheint ned deine stärke zu sein

Hans-Georg Normann
16-07-2004, 17:54
die fehlermeldung ist im prinzip scheis egal was da steht. wichtig ist es das es ned sein kann und darfNa ja, wenn du meinst, dass das Scheiss egal ist, dann mach deinen Scheiss doch alleine!

Ich glaub, man muß sich hier nicht anmeiern lassen um anderen zu helfen! Oder hattest du heute nur einen schlechten Tag?

Hans

robiotor
16-07-2004, 18:00
naja was da angezeigt wird ist wirklich unwichtig, also ob es steht nöö das geht ned so oder was anderes.

es geht dadrum das das hier nicht funktioniert

chdir("/home/username/anderesdir");

und das das hier funktioniert

chdir("/home/username");

und genau das gleiche ist es mit fopen()

und fass das nicht auf als anschies aber es geht mir wirklich dadrum das die rechte eigentlich ok sind und das es nicht funktioniert obwohl es eigentlich funktionieren müsste.

Hans-Georg Normann
16-07-2004, 18:05
Also ich finde es wichtig was da steht, gibt es doch einen Hinweis darauf, welcher Art der Fehler ist.

file not found
permission denied
...............


Hans

undefined
16-07-2004, 21:50
@robiotor
Freundlichkeit ist anscheinend Wirklich nicht deine Stärke.
Und lesen auch nicht. Wenn das Script via cron angesprochen wird es nach wie vor vom Serverausgeführt und dem nach besitzt es auch die Rechte des Apache Servers. Ansonsten handelt es sich nicht um ein PHP Script und du bist im falschen Forum. ;)
PS: Sagt dir open BaseDir etwas ;)

Gaert
16-07-2004, 22:55
Hallo,

Also erstmal solltet ihr euch alle mal wieder ein wenig beruhigen...
@robiotor: das war wirklich etwas unfreundlich ausgedrückt
@undefined: cool down, er hat es sicher nicht so gemeint

Allgemein gibt es natürlich mehrere Möglichkeiten ein PHP Skript über Cron auszuführen... wenn man es über lynx oder wget als http://localhost/meinscript.php ausführt läuft es natürlich nur unter den Rechten des Webservers.

Ich nehme aber mal an, dass er das Skript über PHP CLI ("php /home/myscript.php") ausführt, und dann hat es in diesem Fall natürlich Root Rechte.

Das Verhalten ist wirklich merkwürdig...
Hast du das Verzeichnis denn schonmal Testweise auf 777 gesetzt?

Gruß,

Gaert