Skip to content

Instantly share code, notes, and snippets.

@andersonpem
Created August 31, 2020 13:57
Show Gist options
  • Save andersonpem/347b5a00b7e63137523dc4a43b40c146 to your computer and use it in GitHub Desktop.
Save andersonpem/347b5a00b7e63137523dc4a43b40c146 to your computer and use it in GitHub Desktop.
Recomendações de permissões em servidores web PHP

Recomendações de permissões para servidores web PHP

É muito importante ter permissões próprias para os arquivos em um servidor web, para evitar escalada de permissões em arquivos e tomada de posse do sistema.

Portanto, seguem algumas recomendações que são boa prática utilizada pela comunidade web em servidores de produção:

## Usuário e grupo dos arquivos: www-data

sudo chown -R www-data:www-data /caminho/do/sistema

## Arquivos: permissões 644

Arquivos não podem executar diretamente no shell. Só através do PHP.

sudo find /caminho/do/sistema -type f -exec chmod 644 {} \;

## Pastas: permissão 755

As pastas devem ter permissão 755 para funcionar corretamente.

sudo find /caminho/do/sistema -type d -exec chmod 755 {} \;

## Pastas que precisam de permissões de gravação

No Laravel, é necessário gravar arquivos em storage e bootstrap, por exemplo. As pastas que recebem upload de arquivos e outras coisas do tipo necessitam de permissão de gravação. Nestas pastas faça:

# alterar o grupo
sudo chgrp -R www-data storage bootstrap/cache
# dar permissão de gravação para o usuário e o grupo
sudo chmod -R ug+rwx storage bootstrap/cache

Com estas permissões a execução arbitrária de código fica mais difícil :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment