Первое число - права для владельца, второе число - на группу, третье - для всех
5 и 7 отличаются от 6 и 4 тем что там установлен бит x - executable, его нужно ставить на каталоги, но на файлы не обязательно (их ставят на скрипты и бинарники, которые нужно запускать, и в случае скриптов это не обязательное условие, просто запуск +x файлов возможен просто указанием файла /path/file)
5 - права на чтение и запуск, 7 - права на чтение+запись и запуск, 4 - права только на чтение, 6 - права на чтение и запись.
скорее всего у тебя по каким то причинам на скрипты твоего бакэнда требуется +x флаг, у тебя там cgi?
почему у тебя работает? потому что ты ставишь 5 на всех пользователей.
Веб сервер работает от пользователя www (или apache или http что там у тебя настроено) а файлы ты скорее всего заливаешь от пользователя root или какого ты создал пользователя для работы
Что можно сделать - добавить своего пользователя в группу www либо настроить веб сервер чтобы он работал с правами твоего пользователя либо авторизоваться при копировании файлов под www (это плохая практика), либо принудительно выставить владельца файлов на www.
Теперь про безопасность... пользователи веб не видят и не имеют доступа к файлам, какие бы права доступа там не стояли, права на них выставляются в настройках веб сервера. Но в веб приложениях (или настройках веб сервера) очень часто обнаруживают уязвимости, которые позволяют к примеру под правами веб сервера www менять что либо в файлах, и если запретить это делать веб серверу, эксплуатировать такую уязвимость будет либо очень сложно либо невозможно, т.е. простой админстративной настройкой повышается безопасность дырявого сервера (не на максимум но плюсик можно ставить)
Правильное решение, грамотно и вдумчиво настроить права доступа, веб сервер должен иметь доступ только на чтение (и на запуск, если этого требует твой бакэнд), еще можно вынести настройки базы данных в какой-нибудь сервис их хранения чтобы простым доступом к файлам этот пароль вытянуть было нельзя. Есть еще практики, запускать веб сервис в chroot/docker с сильно кастрированным окружением, буквально без bash и различных утилит, только веб сервер (помню для ftp точно такие настройки были), следующий этап подписывание скриптов и бинарников с запретом запуска неподписанных, это еще сложнее но повышает уровень безопасности очень высоко.