Задать вопрос
marat-dimaev
@marat-dimaev
full-stack web developer

Как ограничить любой доступ к файлам и папкам одного пользователя от другого на веб-сервере?

Здравствуйте, помогите пожалуйста решить одну проблему(дыру в безопасности).

Приведу пример:

На нашем сервере есть сайт site1.ru. Владелец этого сайта пользователь user1. Сайт работает на CMS Bitrix.
На этом сайте есть 2 файла которые хранят пароли от БД:
/var/www/user1/data/www/site1.ru/bitrix/.settings.php и /var/www/user1/data/www/site1.ru/bitrix/php_interface/dbconn.php

Также на нашем сервере есть сайт site2.ru. Владелец этого сайта пользователь user2.
На этом сайте есть тестовый срипт:
/var/www/user2/data/www/site2.ru/test.php
Содержание этого скрипта следующее:

include '/var/www/user1/data/www/site1.ru/bitrix/php_interface/dbconn.php';
echo $DBPassword;
$arr = include '/var/www/user1/data/www/site1.ru/bitrix/.settings.php';
print_r($arr);


Если мы откроем в браузере site2.ru/test.php то мы увидим массив содержащий логин и пароль от БД другого сайта.

Можно установить права 0700 для папок /var/www/user1/data/www/site1.ru/bitrix/php_interface/ и /var/www/user1/data/www/site1.ru/bitrix/
но в этом случае невозможно будет открыть страницу site1.ru/bitrix из браузера, а это не есть хорошо.

Вопрос как разграничить любые попытки доступа(чтение, запись, исполнение) сайтов одного пользователя от другого пользователя и наоборот???
Если safe_mode отключен в php 5.4 и выше, а open_base_dir не дает возможности загружать изображения и другие файлы из админки сайтов.

----
Переписывался также с ТП по этому поводу.
Пишут:
Проблема может быть из-за установленного модуля php APC, т.к. права на папки и файлы выставлены правильно, владельцы и группы тоже выставлены правильно.
Т.е. php файл кэшируется при открытии его пользователем user1, а user2 потом его спокойно забирает из кэша.

Сервер Linux CentOS 6.5, php 5.4 nginx
  • Вопрос задан
  • 1260 просмотров
Подписаться 2 Оценить 1 комментарий
Решения вопроса 1
BuriK666
@BuriK666
Компьютерный псих
ставьте права 750 на директории с сайтами и запускайте php-fpm с разными пользователями.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
18 дек. 2024, в 13:22
30000 руб./за проект
18 дек. 2024, в 12:37
10000 руб./за проект
18 дек. 2024, в 12:22
5000 руб./за проект