Permissões no diretório web
A ideia é ter um grupo de desenvolvedores trabalhando num servidor web e todos com permissão total sobre o /var/www/html
No Linux por padrão, quando alguém cria um arquivo ele é dono do mesmo e ninguém mais mexe, exceto o root.
A idéia aqui é quando um criar ou alterar um arquivo os demais continuam com o mesmo acesso, pois as permissões serão setadas para o grupo.
Criar o grupo webdevel
sudo addgroup webdevel
Adicionar o www-data ao webdevel
sudo adduser www-data webdevel
Adicionar cada usuário do grupo de desenvolvedores ao grupo webdevel
sudo adduser ribafs webdevel
Usando o umask para que mantenha permissões de escrita para o dono e o grupo por default
umask 002
Adicionar ao ~/.bashrc de cada desenvolvedor
su - ribafs
nano .bashrc
Adicionar ao final
umask 002
Efetuar logout para que tenha efeito
Para ajustar a permissões dos arquivos e pastas existentes executar o script abaixo
#!/bin/sh
clear;
echo "Aguarde enquanto configuro as permissões do /var/www/html/$1";
echo "";
chown -R www-data:webdevel /var/www/html/$1;
chmod -R g+s /var/www/html/$1;
find /var/www/html/$1 -type d -exec chmod ug+rwx,o+rx {} \;
find /var/www/html/$1 -type f -exec chmod ug+rw,o+r {} \;
echo "";
echo "Concluído!";
Com este script tanto podemos varrer todo o diretório html com:
sudo perms
Quanto podemos varrer apenas um sundiretório do html com:
sudo perms diretorio1
Para configurar manualmente e eventualmente as permissões do diretório web
http://www.zzee.com/solutions/unix-permissions.shtml
Melhor Solução que Encontrei até Agora
A melhor solução para problemas de permissões do sistema de arquivos do servidor web para trabalho em grupo, foi o uso de um software como uma camada intermediária para envio de arquivos do desktop para o servidor. No caso foi o eXtplorer.net, que é um excelente gerenciador de arquivos tanto para o Joomla (componente) quanto para ser usado independentemente. Como o envio e a descompactação dos arquivos é feita pelo apache, já chegam no servidor com as permissões adequadas, as do www-data.
Comments fornecido por CComment