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