Вы можете использовать ACL. Чтобы настроить 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, или, возможно, создать каталоги, доступные для записи на сервере, это все еще просто.
Каталог журналов, доступных для записи в 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/lib
sudo chmod 0750 /var/www/lib
chmod g+s
иsetfacl
команды сделали (и их параметров).