2011-07-08 2 views
5

L'app per rails 3.0 si trova su ubuntu server usando apache/passenger. L'utente per la distribuzione dell'app è admin, è anche l'utente che esegue l'app (non ha scelto il nome, l'amministratore non ha privilegi di root). Ho aggiornato di nuovo paperclip oggi.Paperclip crea una cartella con permessi errati

Il plug paperclip viene utilizzato per caricare le immagini. Carica correttamente le immagini ma la cartella che crea utilizza un'autorizzazione che nessuno può leggere: drwxr-x --- 4 admin admin

Come puoi vedere non c'è il diritto per "altri" ma sembra apache provare a leggi il file con www-admin.

L'umask per l'utente amministratore è 022, perché paperclip crea cartelle senza autorizzazioni per gli altri?

Come posso cambiarlo?

EDIT: ho controllato, dei passeggeri e il processo di rotaie sono tutti di proprietà di admin.

+0

Come è stata configurata la graffetta? –

+0

Huu, non ho configurato nulla. – Syl

+0

L'unica "configurazione" che ho fatto è stata aggiungere la gem nel mio Gemfile. Ho usato la graffetta direttamente nella mia app. La documentazione non menziona nulla sulla configurazione di paperclip. – Syl

risposta

0

Se si sta distribuendo con Capistrano aggiungere questo:

task :chmod_entire_deploy_dir do 
sudo "#{sudo} chmod 0775 -R #{deploy_to}" 
end 
after "deploy:setup", :chmod_entire_deploy_dir 

devo cambiare il gruppo di utenti & alcune volte troppo:

task :chown_entire_deploy_dir do 
sudo "#{sudo} chown my_user:my_group -R #{deploy_to}" 
end 
after "deploy:setup", :chown_entire_deploy_dir 

In caso contrario si può semplicemente chmod directory manualmente.