/var/log/nginx
Pavel V.
pavel2000 на ngs.ru
Сб Янв 15 20:34:28 MSK 2011
Здравствуйте, Maxim.
Вы писали 15 января 2011 г., 1:59:56:
> Развёрнутый ответ про симлинки какой-то такой:
> Защита от symlinks сейчас отсутствует во всех http-серверах, ибо
> сделать ещё правильно можно только через системный вызов openat()
> либо на уровне операционной системы (mount -o nosymfollow).
> Применяемый в apache и lighttpd lstat() - это плацебо, там race
> condition между проверкой по lstat() и реальным открытием файла.
> То же относится к патчу по ссылке выше.
> Если кому-то не лень - можно сделать правильную проверку через
> openat(), благо он попал в POSIX и стал появляться во всяких
> операционных системах. Но надо при этом понимать, что тут ещё и
> performance tradeoff, минимум один системный вызов на каждый
> компонент пути, т.е. без реальной нужды это так или иначе
> использовать не рекомендуется, а в случае реальной нужды - mount
> -o nosymfollow будет дешевле.
1) Linux не умеет nosymfollow.
2) Иногда симлинки полезны
3) Идеальный мир не существует.
Спасибо за ответ, про race condition я не думал.
--
С уважением,
Pavel mailto:pavel2000 at ngs.ru
Подробная информация о списке рассылки nginx-ru