Итак, создали виртуальный хост или десять или сто виртуальных хостов, если все сайты принадлежат одному владельцу, то здесь все более или менее просто м понятно, тем более если этот владелец это — Вы. Но, если для каждого сайта нам нужен отдельный пользователь, здесь уже ему и FTP подавай, например, и какие-то мало мальские полномочия .htaccess подредактировать и прочее.
Так же следующая модификация апача повышает безопасность.
Собственно не проблема.
Должен быть установлен модуль apache2-mpm-itk
Если нет ставим apt-get install apache2-mpm-itk
/etc/init.d/apache2 restart
Создаем группу:
groupadd vasya
Создаем нужного нам пользователя vasya добавляем его в существующую группу vasya, задаем ему корневую директорию /home/vasya и не даем ему доступ к shell:
useradd –d /home/vasya –s /bin/false -G vasya vasya
Задаем ему пароль:
passwd vasya
Задаем пользователя и группу для директорий и файлов в домашней директории vasya:
chown -R vasya:vasya /home/vasya
В файле настройки виртуального хоста пишем
AssignUserID vasya vasya
Группу для пользователя vasya при желании можно поменять:
usermod -g www-data vasya
Сменить домашнюю директорию той же командой usermod:
usermod -d /home/nadya vasya
Проверить к какой группе относится пользователь можно просто:
id vasya