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

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

Estou executando o Ubuntu no meu vserver e configurei algumas configurações relacionadas 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 apacheque executa o servidor Apache, então qual é uma boa escolha?

Diretórios de sites:

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 755e meus arquivos são 644. Deveria pertencer a www-data ou ao meu nome de usuário?

Ficarei feliz se você puder me dar algumas práticas recomendadas sobre isso. Obrigado pelo conselho!

Responder1

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

Portanto, aproprie-se de tudo com algo como sudo chown user:userno diretório do site e dê ao ooutro bit as permissões necessárias... .

Substitua user:userpor um usuário e grupo que você deseja.

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 findcomando um pouco avançado, mas que facilita um pouco o trabalho, algo como (depois de possuir os arquivos):

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 {} \;

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

http://www.linuxforums.org/forum/servers/5270-apache-conf-html-permissions.html

informação relacionada