Może to być tak proste, jak sudo usermod -a -G developers $username
użycie ACL.
To jednak wymaga trochę pracy. Dotyczy to przynajmniej Ubuntu 10.10. Najpierw zamontuj systemy plików z opcją acl w / etc / fstab.
sudo vim /etc/fstab
UUID = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx / ext4 domyślne, acl 0 1
sudo mount -o remount,acl /
Następnie utwórz grupę, do której użytkownik może należeć w tym celu.
sudo groupadd developers
sudo usermod -a -G developers $username
Użytkownik musi się wylogować i zalogować ponownie, aby zostać członkiem grupy programistów.
Oczywiście nie rób tego, jeśli masz zawartość w katalogu / var / www, którą chcesz, ale tylko w celu zilustrowania konfiguracji, aby rozpocząć:
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
Następnie zamień odniesienia do „/ var / www” na „/ var / www / public” w pliku konfiguracyjnym i załaduj ponownie.
sudo vim /etc/apache2/sites-enabled/000-default
sudo /etc/init.d/apache2 reload
Jeśli chcemy ograniczyć usuwanie i zmianę nazwy dla wszystkich oprócz użytkownika, który utworzył plik:
sudo chmod +t /var/www/public
W ten sposób, jeśli chcemy stworzyć katalogi dla frameworków, które istnieją poza katalogiem głównym Apache, lub może stworzyć katalogi do zapisu na serwerze, jest to nadal łatwe.
Katalog dzienników zapisywalnych w Apache:
sudo mkdir /var/www/logs
sudo chgrp www-data /var/www/logs
sudo chmod 0770 /var/www/logs
Katalog bibliotek czytelny dla Apache:
sudo mkdir /var/www/lib
sudo chgrp www-data /var/www/logs
sudo chmod 0750 /var/www/logs