<div dir="ltr"><div><div>Валентин, посмотрите вот эти штуки ?<br><br># grep '(warning' typescript <br>[src/nxt_file_cache.c:290] -> [src/nxt_file_cache.c:302]: (warning) Either the condition 'handler==NULL' is redundant or there is possible null pointer dereference: handler.<br>[src/nxt_port_socket.c:498] -> [src/nxt_port_socket.c:505]: (warning) Either the condition 'b==NULL' is redundant or there is possible null pointer dereference: b.<br><br><br></div>и, кажется, не работают тесты при "make tests" (вот это прямо напрашивается в travis)<br><br></div>я хотел этим заняться, завал, к сожалению еще на пару месяцев<br></div><div class="gmail_extra"><br><div class="gmail_quote">20 октября 2017 г., 19:25 пользователь Валентин Бартенев <span dir="ltr"><<a href="mailto:vbart@nginx.com" target="_blank">vbart@nginx.com</a>></span> написал:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Friday 20 October 2017 16:48:31 Slawa Olhovchenkov wrote:<br>
> On Fri, Oct 20, 2017 at 04:42:54PM +0300, Maksim Kulik wrote:<br>
><br>
> > Так в таком случае использование unit еще выгоднее: ему не надо держать<br>
> > master-процесс для каждой версии php, не говоря о процессе для каждого<br>
> > пользователя.<br>
> ><br>
> > P.S. Может я немного отстал от актуальных знаний о PHP-FPM, но зачем под<br>
> > каждого пользователя запускать отдельный master-процесс? Достаточно ведь<br>
> > завести для конкретного пользователя свой pool (работающий от имени этого<br>
> > пользователя), а мастер-процесс будет всегда один. Если я ошибаюсь -<br>
> > скиньте, плиз, линку на почту где можно подробнее почитать об опасности<br>
> > запуска одного мастер-процесса для разных пользователей.<br>
><br>
> Это достаточно самоочевидно для любого, кто немного интересуется<br>
> безопасностью.<br>
> Ну и для програмистов эдак начиная примерно с 15+ лет опыта. Но лучше 20+.<br>
> В общем когда приходит понимание, что программ без ошибок не бывает.<br>
> Тогда доходит и мысль о том, что общий мастер-процесс на всех должен<br>
> иметь возможность читать конфиг принадлежащий любому пользователю и<br>
> перезапускать пул(ы) от любого пользовательского UID, а это уже есть<br>
> некторая дыра, т.к. он получается должен быть рутовым.<br>
> В модели отдельного мастера на пользователя он после запуска<br>
> безвозвратно дропает свои привелегии и эта схема в целом меньше<br>
> подвержена протечкам.<br>
</span>[..]<br>
<br>
Основной процесс Unit-а, который работает от рута, не читает конфигов<br>
и не взаимодействует с пользователями и их приложениями.<br>
<br>
Каждое приложение со своей конфигурацией полностью изолировано. Точно также,<br>
как были бы изолированы отдельные процессы php-fpm, запущенные независимо друг<br>
от друга на одной машине.<br>
<br>
--<br>
Валентин Бартенев<br>
<div class="HOEnZb"><div class="h5">______________________________<wbr>_________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org">nginx-ru@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" rel="noreferrer" target="_blank">http://mailman.nginx.org/<wbr>mailman/listinfo/nginx-ru</a></div></div></blockquote></div><br></div>