Configurações ideais de proprietário / permissão para um diretório de site em execução no apache

2

Estou executando o Ubuntu no meu vserver e configurei algumas configurações referentes ao meu tópico. Mas não tenho certeza se está configurado corretamente.

Minha configuração atual é a seguinte:

Apache2:

export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data
export APACHE_PID_FILE=/var/run/apache2.pid

Eu li artigos sobre como adicionar um usuário extra, por exemplo sudo adduser apache que executa o servidor apache, então qual é uma boa escolha?

Diretórios do site:

drwxr-xr-x 5 www-data:www-data 4.0K Feb  5 04:16 mysite/

Este diretório, por exemplo, é colocado em /var/www . Minhas configurações de pasta dentro do diretório são chmod 755 e meus arquivos são 644 . Deve ser propriedade da www-data ou do meu nome de usuário?

Ficaria feliz se você puder me dar algumas práticas recomendadas sobre isso. Thx para aconselhar!

    
por DannyRe 05.02.2012 / 14:14

1 resposta

4

A maior coisa que aprendi é não dar acesso ao Apache para escrever qualquer coisa que você não precise escrever também, por exemplo, cache, usuário ou diretórios de download para os quais você pode fazer upload de material.

Portanto, tome posse de tudo com algo como sudo chown user:user no diretório do site e dê ao o outro bit as permissões necessárias ....

Substitua user:user por um usuário e grupo que você gostaria.

Nos diretórios você pode usar um comando como:

sudo chmod o+rx /var/www/'directory' #make directory read and executable for other
sudo chmod o-wx /var/www/'directory'/'files' #remove write and execute from files
sudo chmod o+r  /var/www/'directory'/'files' #add read to files

Você também pode usar um comando find que é um pouco avançado, mas torna o trabalho um pouco mais fácil, algo como (depois de ter possuído os arquivos com):

chown user:user /var/www/ -R # this is only an example.. 
  • diretórios
find /var/www/ -type d -exec sudo chmod o+rx {} \; 
  • arquivos
find /var/www/ -type f -exec sudo chmod o-wx {} \;
find /var/www/ -type f -exec sudo chmod o+r {} \;

Eu tentei ser o mais descritivo possível. Eu posso explicar mais, se necessário. Isso fala sobre permissões na metade do caminho:

link

    
por Zach Robichaud 08.06.2012 / 21:07