Comment définir la propriété de groupe par défaut pour les fichiers d'un répertoire?


20

J'exécute une webapp cakephp sur Linode LAMP. Je constate que mes fichiers temporaires sont créés avec la propriété root: root. Mais la webapp fonctionne avec les autorisations d'Apache (www-data). Cela provoque des avertissements chaque fois qu'un nouveau fichier est créé car il n'est pas accessible en écriture pour les données www de l'utilisateur.

Comment changer la propriété par défaut en www-data sur tous les nouveaux fichiers créés dans le dossier temporaire?

Merci de votre aide!

Réponses:


23

Pour affecter la propriété du groupe par www-data indépendamment de l'uid / gid du processus qui crée le fichier, vous devez définir le bit setgid sur le répertoire.

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

Notez que vous devez également rendre le répertoire accessible en écriture par le processus qui créera les fichiers. Si c'est autre chose que root, vous devrez peut-être aussi chmod o+rwxfaire fonctionner les choses correctement.


Et les sous-répertoires?
mcont

L'ajout de l'indicateur -R à chown et chmod rend cette commande récursive. Ainsi, les commandes ci-dessous attribueront la propriété du groupe par défaut à <dir> ainsi qu'à tous les sous-répertoires de <dir>: sudo chown -R :www-data <dir>etsudo chmod -R g+s <dir>
Josh Wieder
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.