Come posso impostare la proprietà predefinita del gruppo per i file in una directory?


20

Sto eseguendo una webapp cakephp su Linode LAMP. Sto scoprendo che i miei file temporanei sono creati con root: proprietà di root. Ma la webapp è in esecuzione con le autorizzazioni di Apache (www-data). Ciò provoca avvisi ogni volta che viene creato un nuovo file perché non è scrivibile per i dati www dell'utente.

Come posso modificare la proprietà predefinita in www-data su tutti i nuovi file creati nella cartella temporanea?

Grazie per l'aiuto!

Risposte:


23

Per assegnare la proprietà del gruppo tramite www-data indipendentemente dall'uid / gid del processo che crea il file, è necessario impostare il bit setgid nella directory.

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

Nota che devi anche rendere la directory scrivibile con qualunque processo creerà i file. Se non è altro che root, potresti anche aver bisogno chmod o+rwxche le cose funzionino correttamente.


Che dire delle sottodirectory?
Mc il

L'aggiunta del flag -R a chown e chmod rende quel comando ricorsivo. Quindi i comandi seguenti assegneranno la proprietà di gruppo predefinita a <dir> nonché a tutte le sottodirectory di <dir>: sudo chown -R :www-data <dir>esudo chmod -R g+s <dir>
Josh Wieder il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.