Це може бути так само просто, як 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" у файлі config та перезавантажте.
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/logs
sudo chmod 0750 /var/www/logs