PHP skriver ut filer (ägare: www-data), hur undra?

Trädvy Permalänk
Medlem
Plats
Umeå
Registrerad
Jan 2006

PHP skriver ut filer (ägare: www-data), hur undra?

Hej,

Har en användare på mitt system som har ett PHP-system som skapar filer från en databas. När filerna skapas, är ägaren www-data och dom här kan inte han röra. Det är ju i hans katalog och allt, så jag som administratör måste gå in och ändra.

Finns det nån lösning på problemet? För det är ju hans skript och hans filer. Tack på förhand!

Gigabyte-P35-DS4 | Intel Core 2 Quad Q6600 [3 GHz] | 2x1GB Corsair XMS-6400@800Mhz | Nvidia Geforce 460 GTX [975/2000 MHz] | Intel 320 Series 80 GB SSD | | SETI@Home Team: Sweclockers.com

Trädvy Permalänk
Medlem
Plats
Malmö
Registrerad
Jul 2001

Webbservern körs ju som www-data eller nobody vanligtvis, alltså kommer alla filer skapas i det namnet. Be honom fixa så han gör en chmod samtidigt till 666

Trädvy Permalänk
Medlem
Plats
Umeå
Registrerad
Jan 2006

Ja precis, Apache körs ju normalt under www-data. Men vad ska ha chmodda? sin .php-fil till 666? Kommer detta skript då göra så ägaren bli han själv? Det är det jag försöker göra, förlåt om det låter luddigt. :/

Gigabyte-P35-DS4 | Intel Core 2 Quad Q6600 [3 GHz] | 2x1GB Corsair XMS-6400@800Mhz | Nvidia Geforce 460 GTX [975/2000 MHz] | Intel 320 Series 80 GB SSD | | SETI@Home Team: Sweclockers.com

Trädvy Permalänk
Medlem
Plats
Sockholm
Registrerad
Dec 2001

Det är filerna som skapas som du på något sätt måste ge läsrättigheter till för din användare, precis som maDa antydde. Jag illustrerar med lite kod

$filename = '/home/username/folder/filename'; // genererat filnamn $data = '...'; // data från databasen file_put_contents($filename, $data); // skapa och skriv till fil // alternativ 1, ge läs och skrivrättigheter till alla chmod($filename, 0666); // alternativ 2, ge bara läs och skrivrättigheter till användaren chmod($filename, 0600); chown($filename, 'username');

Beroende på hur känslig datan är så skulle jag valt alternativ 2.

Trädvy Permalänk
Medlem
Plats
Svedala
Registrerad
Apr 2002

suPhp kan vara värt att kika på, det kör php-script som den användare som är satt som ägare av scriptet om jag inte minns helt galet.