J'essaie d'utiliser un dossier Dropbox partagé pour rendre les fichiers HTML facilement modifiables par plusieurs personnes, et je (re)monte le dossier Dropbox quelque part dans l'arborescence du site. /var/www/
avec le --bind
option. J'ai configuré le contexte SELinux pour le dossier Dropbox afin que les éléments qui s'y trouvent reçoivent un message d'alerte. httpd_sys_content_t
type, qui httpd
(sur RHEL6) peut lire. Tout cela fonctionne et les fichiers sont disponibles sur le site web. La modification d'un fichier dans le dossier Dropbox sur le serveur web fonctionne également (le contexte SELinux est conservé).
Cependant, lorsque le fichier est mis à jour via Dropbox (par exemple, si quelqu'un d'autre modifie le fichier), le fichier résultant du côté récepteur (après que Dropbox l'ait mis à jour) obtient toujours un contexte de user_home_t
Apache ne peut donc pas lire le fichier, ce qui entraîne une erreur 403 Forbidden (jusqu'à ce que je rétablisse manuellement le contexte).
J'ai essayé de définir le contexte pour ~/.dropbox/
à httpd_sys_content_t
ce qui fonctionne également : les fichiers de cache ( ?) dans ~/.dropbox/l/
d'obtenir ce contexte, mais ensuite le fichier mis à jour en ~/Dropbox/
obtient toujours user_home_t
. Cela indique que Dropbox met à jour le fichier à un autre endroit (vraisemblablement via sa méthode delta) et fait ensuite un équivalent de mv
pour le déplacer dans le dossier Dropbox (puisque sous SELinux mv
préserve le contexte de l'origine et cp
le réinitialise en fonction de la destination).
Notes :
- Je ne souhaite pas désactiver SELinux (mais le faire résout le problème).
- En ce qui concerne l'utilisation de
httpd_sys_content_t
: Je pourrais éventuellement créer une politique spéciale pour traiter ces fichiers, ce qui pourrait être plus judicieux que d'utiliser simplementhttpd_sys_content_t
mais je m'en soucierai plus tard - Je pourrais lancer un petit script qui ferait un
restorecon -R
sur le sous-dossier Dropbox approprié toutes les 5 ou 10 secondes, mais je préférerais que cela se produise plus tôt.
Alors : où Dropbox crée-t-il le fichier nouvellement mis à jour avant de le déplacer vers le dossier Dropbox ? Avez-vous une autre idée de ce que vous pourriez essayer ?
Danke!
David