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

Permalänk

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!

Visa signatur

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

Permalänk
Medlem

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

Permalänk

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. :/

Visa signatur

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

Permalänk
Medlem

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.

Permalänk
Medlem

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.