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

Igor Sysoev igor на sysoev.ru
Пт Ноя 25 09:46:23 UTC 2011


On Fri, Nov 25, 2011 at 01:42:58PM +0400, Igor Sysoev wrote:
> On Fri, Nov 25, 2011 at 01:34:18PM +0400, Anton Yuzhaninov wrote:
> > On 11/25/11 13:25, Igor Sysoev wrote:
> > > http://httpd.apache.org/docs/2.2/mod/core.html#options
> > >
> > > FollowSymLinks
> > > SymLinksIfOwnerMatch
> > >
> > >     This option should not be considered a security restriction,
> > >     since symlink testing is subject to race conditions that
> > >     make it circumventable.
> > >
> > > Отсюда возникает вопрос: имеет ли смысл тестировать каждый элемент
> > > пути при каждом запросе, если это не даёт 100% гарантии ?
> > 
> > В апаче сначала делают stat, потом open?
> > 
> > А если сначала открыть файл, потом сделать fstat(), не позволит ли это избежать 
> > race?
> 
> Нет, симлинк можно поставить в середину пути.
> И O_NOFOLLOW похоже тоже не поможет, потому что:
> 
> O_NOFOLLOW
>     If pathname is a symbolic link, then the open fails.  This is a FreeBSD
>     extension, which was added to Linux in version 2.1.126.  Symbolic links
>     in earlier components of the pathname will still be followed.

Единственная 100% гарантия - mount -o nosymfollow.


-- 
Игорь Сысоев
http://sysoev.ru



Подробная информация о списке рассылки nginx-ru