Potrebbe essere semplice come sudo usermod -a -G developers $username
usare ACL.
Tuttavia, ci vuole un po 'di lavoro per iniziare. Questo è almeno per Ubuntu 10.10. Innanzitutto montare i file system con l'opzione acl in / etc / fstab.
sudo vim /etc/fstab
UUID = valori predefiniti xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx / ext4, acl 0 1
sudo mount -o remount,acl /
Quindi creare un gruppo al quale un utente può appartenere a questo scopo.
sudo groupadd developers
sudo usermod -a -G developers $username
L'utente deve disconnettersi e riconnettersi per diventare un membro del gruppo di sviluppatori.
Ovviamente, non farlo se hai contenuto nella directory / var / www che desideri, ma solo per illustrare come configurarlo per iniziare:
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
Quindi sostituire i riferimenti a "/ var / www" con "/ var / www / public" in un file di configurazione e ricaricare.
sudo vim /etc/apache2/sites-enabled/000-default
sudo /etc/init.d/apache2 reload
Se volessimo limitare l'eliminazione e la ridenominazione da tutti tranne l'utente che ha creato il file:
sudo chmod +t /var/www/public
In questo modo, se vogliamo creare directory per framework esistenti al di fuori della radice del documento Apache o magari creare directory scrivibili sul server, è ancora facile.
Directory dei log scrivibili da Apache:
sudo mkdir /var/www/logs
sudo chgrp www-data /var/www/logs
sudo chmod 0770 /var/www/logs
Directory della libreria leggibile da Apache:
sudo mkdir /var/www/lib
sudo chgrp www-data /var/www/logs
sudo chmod 0750 /var/www/logs