Показать полную графическую версию : proftpd и PHP, права записи в папку
Стоит ProFTPd и nginx + PHP на spawn-cgi
ProFTPd создает файлы с правами 755 на пользователя some_user (имя ftp-пользователя)
Соответственно, PHP не может в папку ничего записать (spawn-php запускается из-под пользователя nginx_user)
Как _правильно_ разрешить данную коллизию?
Виртуальных папок несколько, не хотелось бы создавать по фтп всё везде от имени одного пользователя...
* Создается для себя, не коммерческий виртуальный хостинг. Хочется сделать правильно и красиво.
fantik,
добавить nginx_user в группу some_user и изменить права на каталог в 775
Negativ,
В таком случае, получается, процесс php из-под другого пользователя даст возможность записи в папку этого пользователя. Верно?
Смотрю щас насчет запуска PHP из-под другого пользователя, пока не нашел верного решения, подходящего мне. Опыта, блин, мало. Suexecб suphp не подходят, так как нет у меня апача.
Увидел вариант с запуском нескольких обработчиков fastcgi от имени всех нужных пользователей, этот вариант меня бы устроил, так как число юзеров небольшое. Но как это реализовать - теряюсь, если честно. Как перенаправить запрос nginx именно тому процессу, который нужен?
fantik,
можно вообще извернуться и заскриптовать этот процесс. Т.е. php складывает все в тот каталог который ему доступен, а скрипт имеющий права на запись в ftp каталог уже переносит или копирует туда эти файлы. В кроне можно задать какой пользователь будет это делать.
При этом доступ к каталогам не меняется.
Negativ,
Вариант, спасибо! :) Но тут есть проблема, например, в том, что некий скрипт, когда инсталлит что-то, создает файл и тут же запускает другой скрипт, который сразу будет работать с вновь созданным файлом... Пока не понимаю, как это можно реализовать.
Если есть познания в области "как запускать PHP-CGI или PHP-CLI из-под разных юзеров", поделитесь...
Бьюсь, как рыба...
fantik,
можно по-нагляднее и по-подробнее описать то, что Вы хотите сделать?
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.