J'ai besoin de fichiers créés par apache2 pour avoir umask 002
, c'est-à-dire le groupe rw, par défaut.
J'ai essayé de mettre umask 002
/ etc / apache2 / envvars et bien que ce script soit exécuté dans le cadre du démarrage d'apache ( apache2ctl graceful
), l'umask n'a aucun effet. Vraisemblablement quelque part plus loin dans le processus de démarrage (par exemple lorsque l'utilisateur est rétrogradé de root
à www-data
), il y a un meilleur endroit pour mettre cela.
J'ai lu des articles sur Fedora et un autre suggérant de mettre umask, /etc/init.d/apache2
mais aucun d'eux ne s'applique / ne fonctionne dans Debian (Squeeze).
Pouvez-vous m'aider?
apache-2.2
umask
artfulrobot
la source
la source
drush cc all
tant qu'utilisateur, car cela génère des erreurs sur tous ces fichiers de cache créés par www-data.Réponses:
Pour être sûr que le paramètre umask prend effet, veuillez utiliser un test simple et n'utilisez aucune autre application Web pour cela. Il se peut que ces applications modifient les droits indépendamment du paramètre umask d'Apache.
Script PHP de test simple:
Veillez à ce que l'utilisateur www-data ait un accès en écriture au dossier dans lequel vous avez installé ce fichier de test simple.
Pour faire fonctionner le nouveau umask, vérifiez si le fichier / etc / apache2 / envvars sera utilisé dans votre fichier de démarrage Apache /etc/init.d/apache2:
Définissez votre umask dans / etc / apache2 / envvars:
Redémarrez votre Apache:
Vérifiez la différence:
la source
Si vous exécutez plusieurs sites, vous pouvez définir l'autorisation de groupe par défaut à l'aide des listes de contrôle d'accès (ACL) par répertoire, comme suit:
Définissez l'
setid
indicateur pour forcer tous les nouveaux fichiers à hériter du groupe du répertoire:Créez de nouveaux fichiers
rw
pour les autorisations de groupe, par ex. de sorte quewww-data
peut écrire dans des fichiers SFTPed par l'utilisateur de téléchargement:Confirmez que l'ACL est comme ceci:
Créez un fichier pour confirmer qu'il a fonctionné:
la source
setfacl --default --modify group:rwx wordpress
manque un deux-points. Cela devrait êtresetfacl --default --modify group::rwx wordpress
(Pour Debian Stretch qui utilise systemd - Merci womble!)
Placez
UMask=0002
le fichier d'unité de service Apache2 systemd, rechargez l'unité de service, puis redémarrez Apache2.la source