Após enviar o seu sistema feito em Laravel para o servidor é comum o desenvolvedor setar as permissões 777 para a pasta, é simples e funciona, mas é um sério problema de segurança.
Nos passos a baixo vamos configurar as permissões para o Laravel de forma correta.
Assumindo que o seu usuário padrão é ubuntu
e o webserver: www-data
.
chown o diretório root
sudo chown -R www-data:www-data /path/to/root
Setar a permissão 644 para os arquivos
sudo find /path/to/root -type f -exec chmod 644 {} \\;
Setar permissão 755 para as pastas
sudo find /path/to/root -type d -exec chmod 755 {} \\;
Setar as permissões de escrita e leitura para as pastas storage e cache
sudo chgrp -R www-data storage bootstrap/cache sudo chmod -R ug+rwx storage bootstrap/cache
Esse tutorial é uma tradução livre de:
https://vijayasankarn.wordpress.com/2017/02/04/securely-setting-file-permissions-for-laravel-framework/