O primeiro não funcionará - você precisa ser capaz de executar um diretório para abri-lo (isso é o que a execução faz em um diretório unix).
Eu recomendaria adicionar usuários diferentes a grupos relevantes (por exemplo, desenvolvedores) e dar "qualquer um" sem permissão ou somente leitura (por isso, defina a última parte como 0). Se você tiver apenas um grupo relevante, altere o grupo da pasta para esse grupo e defina as permissões recursivamente para fazer o que você precisa.
Alternativamente, se você estiver em uma distro baseada em RedHat com acl habilitado, olhe em setfacl - ele permite que você dê permissões específicas em arquivos / pastas para usuários / grupos. Dois exemplos abaixo:
setfacl -m user:john:r-x someFile.php
setfacl -m user:michael:--- michael_mustnt_read.txt
setfacl -R -m group:devs:rwx scripts/
- permite que os desenvolvedores tenham permissões totais dentro deste diretório.
setfacl -d -R -m group:devs:rwx scripts/
- o mesmo que acima, mas não faz alterações em arquivos existentes, define as permissões por padrão em novos arquivos.