Это может быть так же просто, как sudo usermod -a -G developers $username
с использованием ACL.
Для начала нужно немного поработать. Это для Ubuntu 10.10 как минимум.
Сначала установите файловые системы с опцией acl в / etc / fstab.
sudo vim /etc/fstab
UUID = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx / ext4 по умолчанию, acl 0 1
sudo mount -o remount,acl /
Затем создайте группу, к которой пользователь может принадлежать для этой цели.
sudo groupadd developers
sudo usermod -a -G developers $username
Пользователь должен выйти и снова войти в группу разработчиков.
Конечно, не делайте этого, если у вас есть контент в каталоге / var / www, который вы хотите,
но просто для иллюстрации настройки для запуска:
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
Затем замените ссылки на «/ var / www» на «/ var / www / public» в файле конфигурации и перезагрузите.
sudo vim /etc/apache2/sites-enabled/000-default
sudo /etc/init.d/apache2 reload
Если мы хотим ограничить удаление и переименование всех, кроме пользователя, создавшего файл:
sudo chmod +t /var/www/public
Таким образом, если мы хотим создать каталоги для фреймворков, которые существуют вне
Apache document root или, возможно, создавать каталоги, доступные для записи на сервер, все равно легко.
Каталог журналов для записи в Apache:
sudo mkdir /var/www/logs
sudo chgrp www-data /var/www/logs
sudo chmod 0770 /var/www/logs
Apache-читаемый каталог библиотеки:
sudo mkdir /var/www/lib
sudo chgrp www-data /var/www/logs
sudo chmod 0750 /var/www/logs