2012-01-28 6 views
0

Будет ли я сталкиваться с проблемами с помощью open_basedir для перемещения файлов из одного домена в другой на моем сервере, если я запускаю fastCGI?PHP open_basedir с FastCGI

Я хочу, чтобы переместить загруженные файлы:

/var/www/vhosts/example-1.com/httpdocs/ 

к:

/var/www/vhosts/example-2.com/httpdocs/ 

Will FastCGI позволяет это при условии, что пользователь будет специфичен для домена в использовании? Так, например, 1, пользователь будет примером-1. Будет ли этот пользователь перемещать файлы в каталог example-2, если я определяю директиву open_basedir?

+0

Является ли каждый домен (example-1.com, example-2.com и т. Д.) Принадлежащим другому пользователю, и используете ли вы что-то вроде suEXEC, чтобы fastcgi запускал скрипты как владеющий пользователь? – drew010

+0

Я не знаю, шляпа suExec так не уверена. Да, у меня разные пользователи для каждого каталога домена. –

ответ

2

Это не похоже на то, что suEXEC используется, поэтому FastCGI, скорее всего, будет работать как тот же пользователь, на котором работает веб-сервер (apache, nobody, daemon, lighttpd и т. Д.).

В этом случае пользователь FastCGI не будет иметь права создавать и записывать файлы в различные пользовательские каталоги. Если вы устанавливаете разрешения на 777 в папке «uploads» в одном из ваших vhosts, тогда он может сохранять файлы там. Предостережение - это файлы, принадлежащие пользователю веб-сервера (apache и т. Д.), И теперь пользователь vhost не будет владеть этими файлами и не может их модифицировать. Это происходит независимо от open_basedir. Если это выделенный сервер и все ваши vhosts принадлежат вам, вы можете изменить права собственности на веб-сервер на определенные файлы/папки, но использование suEXEC было бы предпочтительнее, так как в этом случае FastCGI будет писать файлы, используя пользователя vhosts как владелец.

У вас все еще будут проблемы с правами доступа, копирующие файлы на другой vhost, так как они будут принадлежать другому пользователю, но вы могли бы заставить свой сценарий использовать их для конечного пользователя как возможность или добавить всех пользователей в так что они могут иметь групповое разрешение на чтение/запись.

suExec - более безопасный вариант, но может быть сложно настроить правильно. Вы используете Apache, lighttpd или что-то еще?

+0

Я использую apache, а не lighttpd. Каждый пользователь домена является уникальным для этого домена, будут ли эти пользователи такими же, как и пользователи виртуального хоста для каждого домена? Насколько я помню, это так. Это мой выделенный виртуальный сервер, поэтому я могу изменить разрешения, если нужно, но поскольку каталоги загрузки могут измениться, я не хочу продолжать это делать. –

Смежные вопросы