I just downloaded the latest version of Craft (2.3.2617) and extracted the zip to check it out. Every file has execute permissions turned on for all users. Is there any reason for this?
Folders need to be executable for Apache/PHP to be able to open them and read their contents.
I'm guessing it's more of a a case of our build script being overly aggressive and setting the execute bit on files.
From what I can tell, though, setting the execute bit on a PHP script is effectively pointless.
(I'm fairly new to the Craft CMS Stack Exchange - so I lack the minimum 50 reputation to reply to the comment by @jason-mccallister; apologies in advance for the etiquette faux-pas)
If you're using a Shebang at the top your PHP file (#!/usr/bin/php or similar), then your script will need the relevant execute bit set (for the user, the file's group, or world).
However - if you're calling your PHP script by passing it as an argument to your PHP binary as follows:
then you do not need an execute bit set (or the Sheband at the top of the PHP file, for that matter) - only an appropriate read bit.