Настройка apache под нескольких пользователей на VPS?
Добрый день!
Суть поставленной задачи - безопасная настройка веб-сервера: разграничить права нескольких пользователей для apache на VPS сервере. Под разработку сайтов нанимаются фрилансеры, у них есть доступ samba, ftp. Не можем настроить apache, чтобы фрилансеры могли выполнять php скрипты у себя в локальной папке определенного хоста и не иметь доступ к файлам других хостов через apache.
Что сделали и как планировали будет работать:
0. Создается новый пользователь newuser. Добавляем его в группу newgroup.
1. Поставил apache2-mpm-itk, для каждого хоста указываю
AssignUserId www-data newgroup
2. Каждой папке соответствующего хоста выставляем доступ
chown -R newuser:newuser /var/www/newhost/
Права доступа стоят 770, по самба и фтп чтобы не было доступа к файлам других хостов.
3. Пользователя www-data добавил в группу newuser, чтобы хосты были доступны
Получается, пользователь локально зайти в другие хосты не может. Но и php код не выполняется локально.
Если я добавляю пользователя в группу www-data, то он имеет доступ к другим сайтам через apache.
Например, такой код уже выполняется и получается есть доступ к чужому хосту.
<?php
file_put_contents("../newhost2.com/hack666.txt", "hello");
echo "ok";
?>
Как настроить, не понимаю. Чтобы дать доступ к выполнению, надо дать доступ к apache, а сам apache имеет доступ ко всем сайтам.
Если не хочешь быть первым - не вставай в очередь!
Если верить хабру, то вот так. Но я бы на Вашем месте, поставил PHP-FPM режим и не мучился бы... Тем более, это какой-то промежуточный дев-сервер для фрилансеров.
Ещё вариант - каждому взять виртуалку по 1.5$ и вообще бед не знать.
у них есть доступ samba, ftp.
А самба то им зачем?
P.S. К PHP-FPM ещё можно прикрутить chroot, но его настройка - потребует дополнительных танцев с бубном.