Portál AbcLinuxu, 7. května 2025 22:13

Dotaz: práva k souborům pro www-data

11.2.2012 00:18 D-503
práva k souborům pro www-data
Přečteno: 463×
Odpovědět | Admin
Dobrý den.

Jedním uživatelem uploaduji na server soubory (konkrétně fotky) a php skriptem potřebuji se soubory dále pracovat, vytvořit miniatury, atd. Snažil jsem se uživatele, který uploaduje přes FTP (ProFTPD 1.3.1 Server Debian) zadat do stejné skupiny jako uživatele www-data, ale to nepomohlo. Uživatel www-data může se složkou, a soubory v ní, pracovat pouze pokud je nastaveno rwx pro 'ostatní'.
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

11.2.2012 11:04 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: práva k souborům pro www-data
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nastavte adresáři, do kterého soubory uploadujete, jako skupinu www-data a nastavte mu setgid bit (chmod g+s). Při nahrání souboru na server pak soubor nezdědí primární skupinu uživatele, který soubor nahrál, ale zdědí skupinu z nadřazeného adresáře, tedy www-data.

Dejte pozor na to, zda nahrávané soubory jsou opravdu fotky a co se s nimi pak bude dál dělat. Pokud by tam útočník nahrál PHP soubor, který by se po zadání příslušné adresy spustil, může takhle útočník na vašem serveru spustit svůj kód.
11.2.2012 20:39 D-503
Rozbalit Rozbalit vše Re: práva k souborům pro www-data
S uživatelem chci přes FTP vytvářet i podadresáře, hlavní adresář, kam má FTP uživatel přístup, jsem tedy upravil podle Vaší rady, nově vytvořený adresář má nyní práva 2755 a soubor, který jsem do něj uploadoval 0644, což stále není pak pro přístup php skriptem přes www-data dostačující, neudělá to, co má.
pavlix avatar 11.2.2012 22:44 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: práva k souborům pro www-data
Máš tam chybu. Těch podmínek pro úspěch je více. Ideálně se používá kombinace:

1) správně nastavená umask a běhová skupina (příkaz newgrp)

2) setgid a setfacl default:group:... (přečíst něco o linuxových ACL)

Dá se to samozřejmě různě kombinovat, ale pro začátečníka to může být dost zmatečné. Doporučuju druhou možnost, tedy nastavit jak výchozí skupinu, tak výchozí práva.
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
12.2.2012 10:49 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: práva k souborům pro www-data
Pak je potřeba nastavit umask, aby se pro skupinu nastavovalo i právo w. ACL vám v tomto případě nepomůže, protože default ACL se nedědí do podadresářů (na rozdíl od setgid bitu, který podadresáře zdědí).
pavlix avatar 12.2.2012 13:25 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: práva k souborům pro www-data
ACL vám v tomto případě nepomůže, protože default ACL se nedědí do podadresářů (na rozdíl od setgid bitu, který podadresáře zdědí).

Filipa Jirsáka v tomto případě prosím ignoruj, neví o čem mluví.
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
12.2.2012 13:58 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: práva k souborům pro www-data
V dokumentaci se výslovně píše, že se default ACL překopírují do ACL nově vytvořeného objektu, že se zkopírují i do default ACL tam chybí. Teď jsem si to vyzkoušel na ext4 a defaultní ACL se zkopírovala. Škoda, že to neumíte napsat normálně. V době, kdy ACL na Linuxu teprve začínalo, jsem měl s děděním ACL problémy -- ale možná to bylo jenom tím, že ne všechny nástroje s ACL pracovaly správně.
pavlix avatar 12.2.2012 17:24 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: práva k souborům pro www-data
Když někdo smete moji radu ze stolu dřív, než ji alespoň otestuje, tak se nemá čemu divit.
Já už tu vlastně ani nejsem. Abclinuxu umřelo.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.