Раньше было так: на девелоперской машине сайт /var/www/site был во владении основного пользователя и IDE могла спокойно работать с этими файлами. Если серверу нужны были права на запись в директорию, то директории выставлялись права 0777, благо через SVN дальше компьютера разработчика это не уходило. Был такой вот мелочный хак.
Все бы хорошо, но после перехода на Git, отправлять на продакшн права 0777 было бы совсем нехорошо. Решением этой дилеммы стал запуск сервера apache от основного юзера операционки. В Ubuntu ключевой файл находится в следующем месте:
/etc/apache2/envvars
В нем следует изменить строки
export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data
на
export APACHE_RUN_USER=user
export APACHE_RUN_GROUP=user
Где user - имя основного юзера системы.
И стало щастье и IDE, и веб-серверу. В итоге мы можем хранить в Git "правильные" права и разрабатывать приложение в любимом текстовом редакторе запущенном не от www-data или, что еще хуже root'а.
P.S. Под основным юзером я имел ввиду юзера, который собственно работает за компьютером.