Práva složek v Temp, jak je odmazat jiným uživatelem
- Damo
- Člen | 56
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
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
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
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.