clevel
Новичок
fopen и safe mode
День добрый!
Пытался самостоятльно найти ответ через поиск и чтение мануала. Не помогло. Прошу помощи у вас, гуру.
на сервере Freebsd 5.4, апача патченный (чтобы форкал под нужной юзер/группой чайлды) , Apache/1.3.27 (Unix) PHP/4.4.3 mod_ssl/2.8.12 OpenSSL/0.9.7e rus/PL30.16
Есть несколько виртуальных хостов, принцип размещения простой:
/usr/hosting/domain/html
/usr/hosting/domain2/html
в настройках вирутальных хостов для каждого из них прописана своя юзер/группа, под которой работает каждый хост. Во фрюхе, естественно, созданны соотвествующие юзер/группа для каждого.
Все работает.
Но!
Появился тут пакет файлов от maxMind. Я его поместил в папку /usr/local/share/GeoIP
и хочу, чтобы каждый хост имел к нем доступ. Для этого создаю симлинк для первого хоста:
ln -s /usr/local/share/GeoIP /usr/hosting/domain/GeoIP
chown -R -h domain:domain /usr/hosting/domain/GeoIP
У меня владельцем симлинка и файлов в нем становится нужный юзер/группа, из под которого работает данный хост.
Но! При попытке сделать fopen одного из файлов в /usr/hosting/domain/GeoIP мне начинают валится сообщения "safe mode restriction", что юзер с таким то uid пытается открыть файл, владелей которого имеет другой uid.
В конфиге апача пытался пошаманить с SymLinksIfOwnerMatch и FollowSymlinks - не помогло.
Сейчас пришлось отключить защищенный режим, чтобы обеспечить функционал, однако это не выход из ситуации. Так же как и не выход каждому хосту копировать эту папку (систематически надо обновлять базы, и каждый раз везде перезаписывать - напрягает. Ну и место тоже жалко - одна копия - минимум 100 метров).
Подскажите, как можно грамотно обойти это ограничение, сохранив при этом safe_mode и по возможности, симлинк на нужную папку.
Заранее спасибо!
День добрый!
Пытался самостоятльно найти ответ через поиск и чтение мануала. Не помогло. Прошу помощи у вас, гуру.
на сервере Freebsd 5.4, апача патченный (чтобы форкал под нужной юзер/группой чайлды) , Apache/1.3.27 (Unix) PHP/4.4.3 mod_ssl/2.8.12 OpenSSL/0.9.7e rus/PL30.16
Есть несколько виртуальных хостов, принцип размещения простой:
/usr/hosting/domain/html
/usr/hosting/domain2/html
в настройках вирутальных хостов для каждого из них прописана своя юзер/группа, под которой работает каждый хост. Во фрюхе, естественно, созданны соотвествующие юзер/группа для каждого.
Все работает.
Но!
Появился тут пакет файлов от maxMind. Я его поместил в папку /usr/local/share/GeoIP
и хочу, чтобы каждый хост имел к нем доступ. Для этого создаю симлинк для первого хоста:
ln -s /usr/local/share/GeoIP /usr/hosting/domain/GeoIP
chown -R -h domain:domain /usr/hosting/domain/GeoIP
У меня владельцем симлинка и файлов в нем становится нужный юзер/группа, из под которого работает данный хост.
Но! При попытке сделать fopen одного из файлов в /usr/hosting/domain/GeoIP мне начинают валится сообщения "safe mode restriction", что юзер с таким то uid пытается открыть файл, владелей которого имеет другой uid.
В конфиге апача пытался пошаманить с SymLinksIfOwnerMatch и FollowSymlinks - не помогло.
Сейчас пришлось отключить защищенный режим, чтобы обеспечить функционал, однако это не выход из ситуации. Так же как и не выход каждому хосту копировать эту папку (систематически надо обновлять базы, и каждый раз везде перезаписывать - напрягает. Ну и место тоже жалко - одна копия - минимум 100 метров).
Подскажите, как можно грамотно обойти это ограничение, сохранив при этом safe_mode и по возможности, симлинк на нужную папку.
Заранее спасибо!