The current Capistrano 'setup' does the following:

   mkdir -p -m 775 #{deploy_to} #{releases_path} #{shared_path}
#{shared_path}/system &&
   mkdir -p -m 777 #{shared_path}/log &&
   mkdir -p -m 777 #{shared_path}/pids

Unfortunately the POSIX prescribed behaviour for the '-m' option means
that the mode only applies to the last directory on the path. The rest
are created according to a formula involving the current 'umask'
setting which is then bitwise ANDed with 0600. (Betya didn't know that
- I didn't!)

So if my system umask is 0077, the mkdir -p creates intermediate
directories without any group or other permission and nobody but the
creating user can read any of these directories.

The workaround is to set the appropriate umask in the command sequence.

   umask 02 &&
   mkdir -p #{deploy_to} #{releases_path} #{shared_path}
#{shared_path}/system &&
   umask 0 &&
   mkdir -p #{shared_path}/log &&
   mkdir -p #{shared_path}/pids

NeilW


--~--~---------~--~----~------------~-------~--~----~
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/capistrano
-~----------~----~----~----~------~----~------~--~---

Reply via email to