Чтобы обеспечить должный уровень безопасности веб проекта, а также его работоспособность, следует назначить права доступа, позволяющие работать веб серверу с определёнными каталогами, а некоторые из них ограничить для записи. При этом есть некоторые общие правила, которые применимы к большинству Laravel проектам.
Владельцем файлов мы назначаем пользователя системы, а в качестве группы присваиваем группу, в которой работает веб сервер. Для этого в корне проекта надо выполнить команду:
sudo chown -R my-username:_www .
Затем, назначаем права каталогам и файлам:
sudo find . -type f -exec chmod 664 {} \;
sudo find . -type d -exec chmod 775 {} \;
Последним пунктом даём права веб серверу записывать файлы в storage и cache:
sudo chgrp -R _www storage bootstrap/cache
sudo chmod -R ug+rwx storage bootstrap/cache
Теперь файлы веб приложения достаточно защищены, приложение работоспособно, а также ваш пользователь также может работать со всеми файлами.
В основу предлагаемого решения взята рекомендация со Stackoverflow.