Es könnte so einfach sein wie die sudo usermod -a -G developers $username
Verwendung von ACL.
Das erfordert allerdings ein wenig Arbeit. Dies ist mindestens für Ubuntu 10.10. Hängen Sie zuerst die Dateisysteme mit der Option acl in / etc / fstab ein.
sudo vim /etc/fstab
UUID = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx / ext4 Standard, acl 0 1
sudo mount -o remount,acl /
Bilden Sie dann eine Gruppe, zu der ein Benutzer zu diesem Zweck gehören kann.
sudo groupadd developers
sudo usermod -a -G developers $username
Der Benutzer muss sich abmelden und erneut anmelden, um Mitglied der Entwicklergruppe zu werden.
Tun Sie dies natürlich nicht, wenn Sie Inhalte im Verzeichnis / var / www haben, die Sie möchten, sondern nur, um die Einrichtung zu veranschaulichen:
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
Ersetzen Sie dann die Verweise auf "/ var / www" durch "/ var / www / public" in einer Konfigurationsdatei und laden Sie sie erneut.
sudo vim /etc/apache2/sites-enabled/000-default
sudo /etc/init.d/apache2 reload
Wenn wir das Löschen und Umbenennen von allen Benutzern außer dem Benutzer, der die Datei erstellt hat, einschränken möchten:
sudo chmod +t /var/www/public
Auf diese Weise ist es immer noch einfach, Verzeichnisse für Frameworks zu erstellen, die außerhalb des Apache-Dokumentenstamms existieren, oder von Servern beschreibbare Verzeichnisse.
Mit Apache beschreibbares Protokollverzeichnis:
sudo mkdir /var/www/logs
sudo chgrp www-data /var/www/logs
sudo chmod 0770 /var/www/logs
Apache-lesbares Bibliotheksverzeichnis:
sudo mkdir /var/www/lib
sudo chgrp www-data /var/www/logs
sudo chmod 0750 /var/www/logs