Чтобы листинг каталога не отображался - настраивают соответствующую директиву в конфиге веб-сервера, разрешения на файлы тут ни при чём.
Относительно же файлов - разрешения (если это не шаред-хостинг, конечно) нужны такие, чтобы пользователи, из-под которых запущены ваши веб-серверы и интерпретаторы вроде PHP, могли делать с файлами всё то, что им нужно для работы. Иначе говоря - универсального рецепта нет, помимо очевидного: никому лишнему ничего не разрешать, файлам, которые планируется исполнять - добавить такую возможность.