обострение

Igor Sysoev is at rambler-co.ru
Fri May 6 10:21:48 MSD 2005


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





More information about the nginx-ru mailing list