Re: чтение чужих файлов: не стоит патчить
Peter Vereshagin
peter на vereshagin.org
Пн Ноя 28 17:58:43 UTC 2011
Hello.
2011/11/28 10:50:50 +0000 nginx-ru-request на nginx.org => To nginx-ru на nginx.org :
> если "индивидуальный вебсервер" - это уже не будет shared hosting.
>
> > а костыли вида "не пойдет по симлинку" - лишь закрытие одного из сотен
> > путей
>
> все остальные "удобные пути" можно закрыть корректной настройкой apache,
> FollowSymLinks, SymLinksIfOwnerMatch, php_admin_value open_basedir
> и корректной настройкой прав доступа к каталогам пользователей.
Чересчур много условий. Я б рекомендовал сказать --- и отрезать:
- юзерам чтобы не выкладывали коды своих банковских карточек ( & etc. ) на
шареный виртхостинг
- девелоперам nginx что уродливое (No)FollowSymlinks(IfOwnerMatch) не нужно.
В перспективе --- ждать, пока в o/s появятся nosymfollowifownernotmatch для
mount. А вообще, шареный хостинг не нужен, есть облачные платформы, панельки к
ним приделал да продавай. Воистину задачка для школоты на GCI:
http://www.theregister.co.uk/2011/06/14/activestate_buys_teen_programmer/
BTW, как дела с поддержкой nginx в панельках управления шареными хостингами?
Если никак, то это лишний гвоздь в крышку гроба тем наподобие 'NoSymFollow для
nginx', 'htaccess для nginx'. Ибо $shared_hosting === $apache_httpd.
RFC на запуск php-демона следующим образом: линковка бинарников, в дальнейшем
форки с раздельными ивент-лупами под разными uid'ами на разные чруты и
порты/локалсокеты ( per uid, например ). Кол-во форков per uid
можно сделать переменным, дабы адаптивно менялось под slashdotting-нагрузки
per uid. При этом проблема объединения persistent-кеша для одинаковых
php-исходников у разных uid может быть решена посредством отдельного
мемкеш-лайк демона, хранящего пары вида "чексумма php-блоба - скомпилированный
опкод". Хороший способ сэкономить толпу ресурсов и таки разнести php-демоны по
uid'ам и chroot'ам.
--
Peter Vereshagin <peter на vereshagin.org> (http://vereshagin.org) pgp: A0E26627
Подробная информация о списке рассылки nginx-ru