São estas as permissões certas para um servidor web?

3

Eu entendo que 777 é muito perigoso ter permissão para pastas no meu servidor, e eu não quero alterá-las para 755 para pasta e 644 para arquivos como sugerido aqui .

Estou usando o seguinte código do link acima.

# Set group to www-data
sudo chgrp www-data /var/www
# Make it writable for the group
sudo chmod 775 /var/www
# Set GID to www-data for all sub-folders
sudo chmod g+s /var/www
# Add your username to www-data group
sudo usermod -a -G www-data username
# Finally change ownership to username
sudo chown username /var/www/
# Your account shouldn't have any more permission issues

Eu defini os direitos para o 777 com o filezilla (antes que eu soubesse o quão inseguro era), a razão era porque eu precisava fazer upload de arquivos, mas não tinha as permissões certas. Se eu executar este código, como posso ter certeza de que não há outros usuários que ainda tenham permissões inseguras?

Eu substituí o nome de usuário pelo usuário que utilizo para efetuar login no filezilla etc (com ssh).

    
por Sven van den Boogaart 11.12.2015 / 16:15

2 respostas

2
  

Se eu executar este código, como posso ter certeza de que não há outros usuários que ainda tenham permissões inseguras?

Pense nisso em termos do sistema de arquivos e menos em termos de usuários que tenham permissões especificadas. As permissões definidas nas pastas / arquivos são o que importa, seguidas pelos usuários que fazem parte dos grupos que você atribuiu às pastas / arquivos. Então, o que você deseja verificar é quais usuários pertencem ao grupo que você deu a permissão de leitura e gravação para executar.

Uma maneira fácil de verificar quais membros estão em um grupo é com o programa members :

sudo apt-get install members
members www-data

Esse último comando listaria quais usuários estão no grupo que tem permissões rwe nos diretórios que você listou.

Sem instalar nenhum pacote de software novo, você poderia apenas grep o arquivo /etc/group e ler a última parte da saída de um grupo específico:

grep 'www-data' /etc/group

Os usuários atribuídos a este grupo serão impressos no final da saída. Mais sobre o arquivo de grupo aqui .

    
por Todd 11.12.2015 / 16:32
2

Se o seu servidor da Web funcionar como www-data e o seu usuário pertencer ao grupo www-data for suficiente:

sudo chown -R username:www-data /var/www/

( -R é para recursão) e

find /var/www/ -type f -exec chmod 640 {} \; && find /var/www/ -type d -exec chmod 750 {} \;

Você não precisa atribuir direitos a outros usuários, portanto, 750 é a melhor opção na minha opinião.

  • o find altera os arquivos para 640 e os diretórios para 750 (digite f e digite d são as partes principais de lá). Se você precisa de mais permissons 660 e 770 é o próximo passo (permissões de execução para o grupo).
por LilloX 11.12.2015 / 16:26