Rails/Paperclip enregistre les images dans des dossiers avec les mauvaises permissions (Linux)


#1

Je déploie mon appli rails sur un serveur ubuntu/apache/passenger à
l’aide de Capistrano. J’utilise Rails 3.0.3 et le dernier gem paperclip.
Le user que j’utilise s’apelle admin (je n’ai pas choisit le nom, il
n’as pas les droits root)

Paperclip enregistre les images dans des sous dossiers de public. Les
droits qu’il donne au répertoires qu’il crée sont :

drwxr-x— 1 admin admin

Mon process apache utilise le user www-data et ne peux donc pas acceder
aux répertoires.

J’ai verifié le umask de admin, c’est bien 022. Comment faire pour que
les répertoires crées aient des permissions pour les utilisateurs
‘autres’ ?


#2

Si tu as trouvé une solution, elle m’intéresse :slight_smile:


#3

Mon problème était de conservé le groupe du répertoire parent pour les
nouveaux fichiers avec le paramètre suid/setuid.

$ chgrp -R www-data public/ tmp/
$ find public/ -type d -print0 | xargs -0 chmod g+s
$ find tmp/ -type d -print0 | xargs -0 chmod g+s

et j’ai ajouté la ligne suivante à la fin de mon fichier
config/environments/production.rb :

ENV[‘TMPDIR’] = Rails.root + “tmp”