Você pode usar o ACL. Para configurar o ACL para o Ubuntu 10.10, primeiro monte os sistemas de arquivos com a opção acl em / etc / fstab.
sudo vim /etc/fstab
UUID = padrões xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx / ext4, acl 0 1
sudo mount -o remount,acl /
Em seguida, crie um grupo ao qual um usuário possa pertencer para essa finalidade.
sudo groupadd developers
sudo usermod -a -G developers $username
O usuário precisa sair e entrar novamente para se tornar um membro do grupo de desenvolvedores.
Claro, não faça isso se você tiver conteúdo no diretório / var / www que você deseja, mas apenas para ilustrar a configuração para começar:
sudo rm -rf /var/www
sudo mkdir -p /var/www/public
sudo chown -R root.developers /var/www/public
sudo chmod 0775 /var/www/public
sudo chmod g+s /var/www/public
sudo setfacl -d -m u::rwx,g::rwx,o::r-x /var/www/public
Em seguida, substitua as referências a "/ var / www" por "/ var / www / public" em um arquivo de configuração e recarregue.
sudo vim /etc/apache2/sites-enabled/000-default
sudo /etc/init.d/apache2 reload
Se quiséssemos restringir a exclusão e renomeação de todos, exceto do usuário que criou o arquivo:
sudo chmod +t /var/www/public
Dessa forma, se quisermos criar diretórios para estruturas que existam fora do A raiz do documento do Apache ou talvez criar diretórios graváveis pelo servidor, ainda é fácil.
Diretório de registros graváveis do Apache:
sudo mkdir /var/www/logs
sudo chgrp www-data /var/www/logs
sudo chmod 0770 /var/www/logs
Diretório da biblioteca legível por Apache:
sudo mkdir /var/www/lib
sudo chgrp www-data /var/www/lib
sudo chmod 0750 /var/www/lib