Cela pourrait être aussi simple que d' sudo usermod -a -G developers $username
utiliser ACL.
Cela prend un peu de travail, cependant, pour commencer. Ceci est pour Ubuntu 10.10 au moins. Commencez par monter les systèmes de fichiers avec l'option acl dans / etc / fstab.
sudo vim /etc/fstab
UUID = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx / ext4 par défaut, acl 0 1
sudo mount -o remount,acl /
Créez ensuite un groupe auquel un utilisateur peut appartenir à cette fin.
sudo groupadd developers
sudo usermod -a -G developers $username
L'utilisateur doit se déconnecter puis se reconnecter pour devenir membre du groupe de développeurs.
Bien sûr, ne le faites pas si vous avez le contenu souhaité dans le répertoire / var / www, mais juste pour illustrer sa configuration:
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
Remplacez ensuite les références à "/ var / www" par "/ var / www / public" dans un fichier de configuration, puis rechargez.
sudo vim /etc/apache2/sites-enabled/000-default
sudo /etc/init.d/apache2 reload
Si nous voulions restreindre la suppression et le changement de nom de tous les utilisateurs sauf le créateur du fichier:
sudo chmod +t /var/www/public
De cette façon, si nous voulons créer des répertoires pour des frameworks qui existent en dehors de la racine du document Apache ou peut-être créer des répertoires accessibles en écriture au serveur, cela reste simple.
Répertoire de journaux en écriture Apache:
sudo mkdir /var/www/logs
sudo chgrp www-data /var/www/logs
sudo chmod 0770 /var/www/logs
Répertoire de la bibliothèque lisible par Apache:
sudo mkdir /var/www/lib
sudo chgrp www-data /var/www/logs
sudo chmod 0750 /var/www/logs