ПРОЕКТЫ 


  АРХИВ 


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: Re[2]: обострение



On Thu, 5 May 2005, Andrei Nigmatulin wrote:

В Чтв, 05.05.2005, в 21:22, Igor Sysoev пишет:
Что касается корки, то я не знаю. nginx разрешает делать корки для
setuid()ных процессов (worker'ов). Какие ещё должны быть условия в Линуксе -
не знаю.

для этого необходимо:
1) current work directory должна быть writable для процесса. Например,
можно перехватить SIGSEGV с опцией SA_ONESHOT, вызвать chdir() и
вернуться из обработчика сигнала.

Так делает Апач, но мне подобный метод не нравится: я считаю, что
между ошибкой и созданием корки процесс работать не должен.

Я сделаю директиву cwd  <path>, куда рабочие процессы будут переходить
сразу же после setuid().

2) setrlimit(RLIMIT_CORE) в соответствующее значение, например в
unlimited

Наверное, имеет смысл директивы для setrlimit(RLIMIT_CORE), равно
как, и для RLIMIT_RTSIG (limits уже умеет её ставить или ещё нет ?)
и RLIMIT_NFILE.

3) prtcl(PR_SET_DUMPABLE, 1) - для setuid() процессов в linux.

Это есть давно.


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




 




Copyright © Lexa Software, 1996-2009.