Jak ustawić domyślną własność grupy dla plików w katalogu?

20

Korzystam z aplikacji cakephp na Linode LAMP. Zauważyłem, że moje pliki tymczasowe są tworzone z prawami root: root. Ale aplikacja działa z uprawnieniami Apache (www-data). Powoduje to ostrzeżenia za każdym razem, gdy tworzony jest nowy plik, ponieważ nie można go zapisać w www-danych użytkownika.

Jak zmienić domyślną własność na www-data w nowych plikach utworzonych w folderze tymczasowym?

Dzięki za pomoc!


źródło

Odpowiedzi:

23

Aby przypisać własność grupy według danych www bez względu na identyfikator UID / gid procesu, który tworzy plik, musisz ustawić bit setgid w katalogu.

    sudo chown :www-data <dir>
    sudo chmod g+s <dir>

Pamiętaj, że musisz także umożliwić zapisywanie katalogu przez dowolny proces, który utworzy pliki. Jeśli jest to ktoś inny niż root, może być konieczne chmod o+rwxpoprawne działanie.

CodeGnome
źródło
Co z podkatalogami?
mcont
Dodanie flagi -R do komendy chown i chmod powoduje, że polecenie to jest rekurencyjne. Poniższe polecenia przypiszą domyślną własność grupy do <katalog>, a także do wszystkich podkatalogów <katalog>: sudo chown -R :www-data <dir>orazsudo chmod -R g+s <dir>
Josh Wieder