BlackBoard (http://www.black-board.net/index.php)
- Design, Programmierung & Entwicklung (http://www.black-board.net/board.php?boardid=55)
-- Programmieren (http://www.black-board.net/board.php?boardid=4)
--- PHP Dateien anlegen -> gehören nobody -> ich habe keinen Zugriff (http://www.black-board.net/thread.php?threadid=21811)


Geschrieben von anakoda* am 27.01.2006 um 21:18:

  Dateien anlegen -> gehören nobody -> ich habe keinen Zugriff

php:
1:
2:
mkdir($strName0777);
copy("template.php" "$strName/template.php");


funzt auch super, aber prob ist die dateien / ordner gehören nachher dem Owner "nobody" und ich kann dann die nicht löschen oder überschreiben.

Ich kam jetzt drauf dass ich der Datei bzw. dem Ordner als Owner jemand anderes zuweisen muss, deswegen hab ichs mal mit "JaF" probiert, das steht bei den restlichen Dateien (die ich hochgeladen habe) als Owner.
php:
1:
2:
$id="./$strName/template.php";
chown($id"JaF");


Daraufhin kommt der Fehler
php:
1:
Warningchown() [function.chown]: Unable to find uid for JaF in


Kann mir jemand helfen?



Geschrieben von LX am 27.01.2006 um 21:55:

Achtung

Offenbar existiert der User "JaF" auf dem System nicht... zumindest konnte keine User-ID festgestellt werden. Ansonsten versuche es doch mal mit chmod und mache die Datei world-readable und -writable.

php:
1:
chmod $filename 'o+rw' );


Dann sollte der User und die Gruppe egal sein.



Geschrieben von anakoda* am 27.01.2006 um 22:07:

 

danke für deine antwort!

also habe jetzt mal folgendes probiert:
php:
1:
echo getmyuid void );

da bekomm ich dann 10025 raus, mache ich dann folgendes:
php:
1:
chown("./$strName/x.php"10025);

kommt ein operation not permitted Fehler.

Ich habe es jetzt mal mit deinem Code probiert, da sind dann alle Berechtigungen für den Ordner / die Datei weg (also chmod 0), bringt mir aber au nix weil ich dann auch noch nichts machen kann (überschreiben / löschen).

was ich noch herausgefunden habe: wenn ich nur den copy befehl von oben anwende (ohne vorher ein verzeichnis zu erstellen) dann kann ich die datei löschen.



Geschrieben von LX am 27.01.2006 um 22:10:

 

Mmh, ich sehe gerade, die PHP-Funktion chmod() akzeptiert als Mode-Wert keinen String, sondern nur Oktalwerte.

Ergo:

php:
1:
chmod $filename 0775 );



Geschrieben von anakoda* am 27.01.2006 um 22:22:

 

jipii!!! habe die lösung, hier für die nachwelt, der trick liegt nämlich darin zuerst den zugriff des ordners und dann den der datei zu ändern!
php:
1:
2:
3:
4:
mkdir($strName);
copy("template.php" "$strName/template.php");        
chmod ("$strName"0777 ); 
chmod ("$strName/template.php"0777 );


Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH