Podrías usar ACL. Para configurar ACL para Ubuntu 10.10, primero monte los sistemas de archivos con la opción acl en / etc / fstab.
sudo vim /etc/fstab
UUID = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx / ext4 por defecto, acl 0 1
sudo mount -o remount,acl /
Luego, cree un grupo al que pueda pertenecer un usuario para este propósito.
sudo groupadd developers
sudo usermod -a -G developers $username
El usuario debe cerrar sesión y volver a ingresar para convertirse en miembro del grupo de desarrolladores.
Por supuesto, no haga esto si tiene contenido en el directorio / var / www que desea, sino solo para ilustrar cómo configurarlo para comenzar:
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
Luego reemplace las referencias a "/ var / www" con "/ var / www / public" en un archivo de configuración y vuelva a cargar.
sudo vim /etc/apache2/sites-enabled/000-default
sudo /etc/init.d/apache2 reload
Si quisiéramos restringir la eliminación y el cambio de nombre de todos menos el usuario que creó el archivo:
sudo chmod +t /var/www/public
De esta manera, si queremos crear directorios para marcos que existen fuera de la raíz del documento de Apache o tal vez crear directorios que se puedan escribir en el servidor, todavía es fácil.
Directorio de registros grabables de Apache:
sudo mkdir /var/www/logs
sudo chgrp www-data /var/www/logs
sudo chmod 0770 /var/www/logs
Directorio de bibliotecas legibles por Apache:
sudo mkdir /var/www/lib
sudo chgrp www-data /var/www/lib
sudo chmod 0750 /var/www/lib
chmod g+s
ysetfacl
comandos hicieron (y sus parámetros).