Podría ser tan simple como sudo usermod -a -G developers $username
usar ACL.
Sin embargo, eso requiere un poco de trabajo para comenzar. Esto es para Ubuntu 10.10 al menos. 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 la configuración 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/logs
sudo chmod 0750 /var/www/logs