Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [PHP] chmod() operation not permitted (https://www.delphipraxis.net/50188-%5Bphp%5D-chmod-operation-not-permitted.html)

ggfan 21. Jul 2005 19:38


[PHP] chmod() operation not permitted
 
Hallo,
ich versuche mit folgendem Quelltext die Zugriffsrechte von einem Verzeichnis zu ändern:


Delphi-Quellcode:
<?php
$root_dir= "/is/htdocs/wp1018159_NWK2AK6ODR/www/myFileAdmin/test/testdir";
chmod($root_dir."/nocheintest/", 0777);
?>
Dabei kommt dann folgende fehlermeldung raus:

Delphi-Quellcode:
Warning: chmod() [function.chmod]: Operation not permitted in /is/htdocs/wp1018159_NWK2AK6ODR/www/myFileAdmin/test/testdir/delete.php on line 5
Das Script das die Änderung ausführt hat aber alle Rechte. Ich bin langsam am verzweifeln.
Kann mir jemand helfen?

Gruß,
Andy

CalganX 21. Jul 2005 19:50

Re: [PHP] chmod() operation not permitted
 
Hi,
das Problem ist nur, dass nicht das Skript die Rechte haben muss, sondern der Unix-User, mit dem PHP läuft (im Normalfall php oder dergl.). Wenn du das Skript auf einem öffentlichen Webserver laufen hast, wundert es nicht, dass du nicht die Rechte zum Ändern der CHMODs hast. Das ist wenn dann über FTP möglich. Aber ein Skript, dass diese Möglichkeit hätte, wäre ein enormes Sicherheitsleck. ;)

Chris

ggfan 22. Jul 2005 12:05

Re: [PHP] chmod() operation not permitted
 
Kurz und bündig, was ich vorhabe ist unmöglich?

Stefan Dieler 22. Jul 2005 12:27

Re: [PHP] chmod() operation not permitted
 
Hallo,

unmöglich ist das nicht, wenn du die erforderlichen Rechte besitzt.
Wenn dir allerdings die Rechte fehlen, dann wirst du es nicht hinbekommen.

Aenogym 22. Jul 2005 12:28

Re: [PHP] chmod() operation not permitted
 
in deinem falle, ja. du kannst die rechte eventuell über FTP ändern. aber nicht über php (auf dem server).

aenogym

ggfan 22. Jul 2005 13:02

Re: [PHP] chmod() operation not permitted
 
Verdammt. Ich will nämlich ein Script schreiben, mit dem man die Daten auf seinem Webspace ohne FTP verwalten kann.(Mit Login-Script und ganz vielen tollen Sachen). Da ist das dann blöd, wenn der User um mein Script zu verwenden dann per FTP die Zugriffsrechte ändern muss, wenn er zum Beispiel Dateien löschen will.

Ist es ein großes Risiko seine Ordner und Dateien von vornherein den chmod 0777 zu geben. Nicht das dann wildfremde Leute Dateien löschen können.

Grendel 22. Jul 2005 13:18

Re: [PHP] chmod() operation not permitted
 
Zitat:

Zitat von ggfan
Verdammt. Ich will nämlich ein Script schreiben, mit dem man die Daten auf seinem Webspace ohne FTP verwalten kann.(Mit Login-Script und ganz vielen tollen Sachen). Da ist das dann blöd, wenn der User um mein Script zu verwenden dann per FTP die Zugriffsrechte ändern muss, wenn er zum Beispiel Dateien löschen will.

Dann bau das PHP Script doch so, daß es als FTP Client fungiert. Also nicht direkt im Filesystem runhantiert, sondern lokal auf den FTP verbindet und dann die gewünschten Aktionen über FTP ausführt.

Zitat:

Zitat von ggfan
Ist es ein großes Risiko seine Ordner und Dateien von vornherein den chmod 0777 zu geben. Nicht das dann wildfremde Leute Dateien löschen können.

Ja, ist ein großes Risiko.

Bis neulich ...

ggfan 22. Jul 2005 13:56

Re: [PHP] chmod() operation not permitted
 
das könnt ich machen. Hab mich mit dem Thema noch nicht beschäftigt.
Aber ich muss dann irgendwie eine möglichkeit geben, von FTP auf normal umzuschalten, damit man seinen eigenene localhost auch verwenden kann.

Das blöde ist, aber das einer der Hauptvorteile meines Scriptes ist, dass man sich die lange einlogprozedur vom FTP spart und auch arbeiten kann, wenn der FTP-Zugang mal ausfällt.
Außerdem muss man dann für jede kleine Veränderung an der Seite apache und mysql hochfahren.

Ich hab das mal ausprobiert. Ich wollte von einer Seite aus auf eine Datei auf einer anderen Seite mit fopen("xy",'w'); zugreifen. Das hat nicht funktioniert. Was kann denn theoretisch passieren?

Jan 22. Jul 2005 14:01

Re: [PHP] chmod() operation not permitted
 
Hallo ggfan.
Das gleiche problem hatte ich auch, als ich für meine Bildersection versucht habe eine uploadfunktion zu machen und ich dann auf einmal nicht die Rechte hatte bestimmte fileoperations mit neu erstellten Ordnern zu machen.
Dein php als "FTP-client" arbeiten zu lassen ist vielleicht ein bisschen komisch formuliert gewesen. Was du machen musst, ist die Verbindung zu deinem Dateisystem über eine ftp Verbindung innerhalb deines scripts zu erstellen. über diese ftp-verbindung kannst du dann ganz normale Dateifunktionen ausführen. Der User deines PHP-scripts bekommt den Unterschied letztenendes nicht mit. Aber das Problem ist dann halt immer, dass du auf jedem Server die Zugangsdaten ändern musst.
Ich bin mir allerdings sicher, dass man über zugriffsrechte abfragen kann, ob man auf dem server auch ohne php arbeiten kann, und in diesem fall, kann man ja dann eine alternative arbeitsweise dazu coden.
Gruß
Jan

ggfan 22. Jul 2005 14:06

Re: [PHP] chmod() operation not permitted
 
Also mein Script liegt nicht auf meinem localhost sondernzum Beispiel aus aprescher.de. Ich hab grad bei php.net nachgeschaut. Ich muss da anscheinend aufpassen, das ich keine Funktionen verwende die nur mit PHP5 arbeiten.

Und wie ist dass dann, wenn ich daheim auf meinem localhost programmiere. Da geht ja der FTP-Zugang nicht(zumindest bei mir).

Grendel 22. Jul 2005 14:12

Re: [PHP] chmod() operation not permitted
 
Zitat:

Zitat von ggfan
Das blöde ist, aber das einer der Hauptvorteile meines Scriptes ist, dass man sich die lange einlogprozedur vom FTP spart

Die ist, wenn der ganze Kram lokal läuft ziemlich flott abgehandelt.
Klar ist es etwas langsamer aber imho absolut zu verschmerzen.

Zitat:

Zitat von ggfan
und auch arbeiten kann, wenn der FTP-Zugang mal ausfällt.

Das ist ein Argument. Wobei es eigentlich nicht passieren dürfte, daß der "FTP-Zugang mal ausfällt". Ansonsten Admin schlagen.

Zitat:

Zitat von ggfan
Außerdem muss man dann für jede kleine Veränderung an der Seite apache und mysql hochfahren.

Wieso MySQL? Und ob das PHP Script nun aufs Filesystem guckt oder per FTP rumwurschtelt hat doch nix mit dem Apachen zu tun. Der müsste für die Filestemlösung genauso laufen.
Außerdem bietet er ja wohl auch die Webseite an sich an; Dürfte daher eh 24/7 laufen, oder?!

Zitat:

Zitat von ggfan
Ich hab das mal ausprobiert. Ich wollte von einer Seite aus auf eine Datei auf einer anderen Seite mit fopen("xy",'w'); zugreifen. Das hat nicht funktioniert. Was kann denn theoretisch passieren?

Weiß grad nicht wie der Parameter heißt aber standardmäßig lässt PHP nur fopen() auf der lokalen Maschine zu. Guck mal in die PHP doku bzw. in die php.ini.

Bis neulich ...

ggfan 22. Jul 2005 14:21

Re: [PHP] chmod() operation not permitted
 
ich hatte gedacht, das ich daheim auf meinem Computer meinen eigenen Apache hochfahre und mit dem dann die Änderungen auf dem eigentlichen Server vornehme.

Jan 22. Jul 2005 14:25

Re: [PHP] chmod() operation not permitted
 
Wieso sträubst du dich dagegen das ganze einfach in zweifacher Ausführung zu coden?
Einmal übers Filesystem und einmal über php, dann kannste das ganze genauso auch auf deinem pc zuhause nutzen, ohne nen ftpclient online zuhaben. Und vorallem hat das den Vorteil, dass das script dann auf anderen servern, ohne zugriffsbeschränkung schneller läuft.
Gruß
Jan

ggfan 22. Jul 2005 15:57

Re: [PHP] chmod() operation not permitted
 
Wiel ich faul bin :-) Aber deine Argumente habenmich überzeugt.
Wird aber ein Stück Arbeit.

Meflin 22. Jul 2005 16:36

Re: [PHP] chmod() operation not permitted
 
Wer sagt dass es am User liegt der PHP ausführt? Vielleiht ist alternativ einfach nur der PHP safe_mode an, afaik blockiert der das standardmäßig...



Alle Zeitangaben in WEZ +1. Es ist jetzt 19:18 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz