ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: чтение чужих файлов: не стоит патчить



On 26.11.2011 13:53, Maxim Dounin wrote:

Как уже неоднократно говорено, в том числе в этой рассылке,
варианты приблизительно такие:

1. Использовать mount -o nosymfollow.

это сломает механизм атомарных обновлений сайта,
- даже симлинки IfOwnerMatch тоже не будут работать.
фактически нужна была опция nosymfollow_if_owner_not_match

2. Сделать и использовать соответствующий флаг для open() в
операционной системе (a la O_NOFOLLOW_ALL).

здесь тоже будет более интерен флаг O_NOFOLLOW_ANY_IF_OWNER_NOT_MATCH
- нет смысла запрещать пользователю ходить по симлинкам на свои же файлы
внутри сайтов и CMS симлинки могут использоваться, это же POSIX стандарт

возможно имеет смысл попробовать этот вариант добавить в обе системы?

или хотя бы только более простой вариант openat(O_NOFOLLOW_IF_OWNER_NOT_MATCH)

3. Использовать цепочку из openat(O_NOFOLLOW).

Вариант (3), в принципе, на большинстве операционных систем сейчас
реализуем.

это будет аналог апачевской директивы Options -FollowSymLinks
что может добавить проблем, если сайт/CMS использует симлинки.

можно ли сделать в nginx корректно работающий в 100% случаев
аналог апачевской директивы "Options SymLinksIfOwnerMatch" ?
такой вариант имхо будет самым корректным для shared hostind`а.

или для этого необходима поддержка в ядре
флага openat(O_NOFOLLOW_IF_OWNER_NOT_MATCH) ?

--
Best regards,
 Gena

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.