Как правильное разграничить прав доступа web-сервера?
Хочеться раз и навсегда разобраться в данном вопросе.
Есть связка nginx+php5-fpm+mysql. Сайты лежат в /var/www:
/var/www/site1
/var/www/site2
...
Есть разработчик (логин developer), имеющий доступ к файловой системе всех сайтов через ssh. Наполнение сайтов происходит через админки.
В большей части инструкций по установке веб-сервров, которые можно найти в Интернете, пишется, что на /var/www нужно ставить владельца www-data, хотя зачем они ему нужны?
Как правильно, а главное безопасно разграничить права?
Нет такой цели. Это безопасность ради безопасности :)
Я к тому, что нужно определиться, от чего вы хотите защищаться и надо ли вам от этого защищаться - только после этого ставить вопрос о том, как именно это делать.
Что вы понимаете под разграничить права? Речь идёт об изоляции сайтов друг от друга или вы что-то другое имеете ввиду?