День добрый.
Не думал что все может быть так печально но ...
Есть VirtualHost`s (5 шт.)
/home/site1
/home/site2
/home/site3
/home/site4
/home/site5
И вот что оказалось, при помощи функции opendir и похожие с ней можно покинуть свой документрут, и прочитать содержимое каталога /home/* и даже /*
Как это ограничить, что-бы каждый сайт мог выполнять эти функции в пределах своего каталога.
>[оверквотинг удален]
> /home/site1
> /home/site2
> /home/site3
> /home/site4
> /home/site5
> И вот что оказалось, при помощи функции opendir и похожие с ней
> можно покинуть свой документрут, и прочитать содержимое каталога /home/* и даже
> /*
> Как это ограничить, что-бы каждый сайт мог выполнять эти функции в пределах
> своего каталога.правильный chown для home/* + mod_ruid2
>[оверквотинг удален]
>> /home/site2
>> /home/site3
>> /home/site4
>> /home/site5
>> И вот что оказалось, при помощи функции opendir и похожие с ней
>> можно покинуть свой документрут, и прочитать содержимое каталога /home/* и даже
>> /*
>> Как это ограничить, что-бы каждый сайт мог выполнять эти функции в пределах
>> своего каталога.
> правильный chown для home/* + mod_ruid2Спасибо, с вашей подачи нашел и как способ mpm-itk, есть комментарии что из них лучше ?
>[оверквотинг удален]
>> /home/site2
>> /home/site3
>> /home/site4
>> /home/site5
>> И вот что оказалось, при помощи функции opendir и похожие с ней
>> можно покинуть свой документрут, и прочитать содержимое каталога /home/* и даже
>> /*
>> Как это ограничить, что-бы каждый сайт мог выполнять эти функции в пределах
>> своего каталога.
> правильный chown для home/* + mod_ruid2СПАСИБО! Все работает!
> при помощи функции opendir и похожие с ней
> можно покинуть свой документрут, и прочитать содержимое каталога /home/* и даже
> /*
> Как это ограничить, что-бы каждый сайт мог выполнять эти функции в пределах
> своего каталога.купите книжку по юникс и прочитайте про разделение прав доступа пользователей.
Читать список каталогов в /home/ и даже в / - это почти нормально.
Ненормально - читать каталоги /home/otheruser/ да и то, если на них права не выше 770 если группы пользователей разные или не выше 700 если группы одинаковы (об этом тоже можно получить понимание, если почитать книжки и подумать).Поскольку у вас скорее всего apache+mod_php, в котором таки да, можно читать каталоги других пользователей, то вы можете:
1) Запустить 5 апачей с mod_php, каждый от своего пользователя, + nginx перед ними
2) отказаться от mod_php, использовать apache+suexec
3) отказаться от mod_php, использовать php-fpm инстансы.
4) нанять вменяемого админа.