chown wird nicht gesetzt :-/

Friesi

Erfahrenes Mitglied
Habe ein Problem mit dem setzen des Benutzers für eine Datei.

Wenn ich ein Verzeichnis oder eine Datei erstelle, legt er mit die immer mit dem Benutzer an, unter dem der Apache läuft. So kann ich die Datei/Verzeichnis aber via FTP nicht löschen sondern nur aus der Shell.

Ich will eine art Installationsscript schreiben, also lade ich eine install.php via FTP hoch und führe die im Browser auf.
Dabei wird ein Verzeichnis inc und darin settings.conf angelegt, nur halt mit den Rechen vom Apache user.

Habe es bis jetzt so gemacht:

PHP:
$owner = fileowner("install.php");
mkdir("inc",0777); // Erstellen des Verzeichnis 'inc'
chown("inc",$owner);
// (...) Datei settings.conf im Verzeichnis 'inc' anlegen und Inhalt einfügen
chown("inc/settings.conf",$owner);

Doch leider ändert er rein garnix an den Rechten :-/

Mach ich da irgendetwas falsch?
 
ein ähnliches Problem hatte ich bei mir auch, allerdings beim sambazugriff,was aber auf das gleiche hinausläuft. ich habe es daher einfach so gemacht, den apache-user zur gruppe des ftp-users hinzuzufügen. und beim erstellen jeder datei einfach der gruppe die gleichen rechte wie dem Owner gegeben und die Probleme waren weg.
 
Ja das würde schon gehen, doch möchte ich das Script zum Download anbieten und nicht jeder der dieses Script benutzen wird, wird einen eigenden Webserver haben und dann vielleicht die Datei nicht mehr entfernen können.
Muss doch irgendwie eine Lösung geben?

Sonst muss ich es echt ganz anders machen.
 
also laut der Doku von PHP darf nur root beliebige Gruppen ändern, der User unter dem das ganze läuft darf nur Gruppen ändern zu denen er selbst dazugehört...
 
Zuletzt bearbeitet:
Zurück