Práva složek v Temp, jak je odmazat jiným uživatelem

Damo
Člen | 56
+
0
-

Jak řešíte práva na tyto složky, resp práva složek uvnitř které nette vytvoří?

Mám vývojový stroj, kde apache a php běží pod www-data. A nette vytvori do slozky temp slozku cache, ale pod www-data:www-data 755.

Ale když mám v phpstormu pripojeny ten stroj, a jsem tam prihlasen po jinym uziavtelem, tak tu slozku nemuzu odstranit, pač to může jen www-data. Musim do terminálu pres ssh a odstranit pres sudo. Takový nepraktický.

Mám prepsat konfiguraky apache a php a místo www-data nastavit sebe? Nebo jiné řešení?

Díky

Marek Bartoš
Nette Blogger | 1260
+
+3
-

Ideálně mít nastavené, aby webserver pro vhost webu běžel pod stejným uživatelem, přes kterého se přihlašuješ. A omezit oprávnění na 700
Alternativně můžeš uživatele www-data přidat do své skupiny a sebe do skupiny www-data a oprávnění omezit na 770

Pak je dobré v bootstrapu aplikace nastavit umask(0007) pro skupinu nebo umask(0077) pouze pro sebe. Funguje to tak, že nastavenou hodnotu to binárně odečte z oprávnění nově vytvořeného souboru, takže k němu nebudou mít přístup všichni

Editoval Marek Bartoš (25. 9. 18:40)

Kamil Valenta
Člen | 815
+
+2
-

Přihlašovat se stejným uživatelem, pod kterým běží httpd, není dobré ve chvíli, kdy na tom začne dělat více lidí.

Cesta přes skupiny je podle mě správná. Mimo jiné i proto, že ne všechny vhosty musí nutně běžet pod www-data.

Václav Pávek
Backer | 100
+
0
-

Ono je to trošku složitější. Webserver je ve skupině www-data a potřebuje mít oprávnění číst statické soubory. PHP-FPM je reálně ten uživatel, který zapisuje do adresářů a ten potřebuje mít vhodná oprávnění a zde je vhodné aby běžel pod stejným uživatelem pokud nechcete neustále měnit vlastníka nebo používat sudo. Trošku složitější to může být pokud se použije mod_php pro Apache, a pokud jsi na sdíleném hostingu tak … nemůžeš být tak striktní a většinou narazíš webserver Apache s nastaveným open_basedir.