[114907] Хорошо, немного обошел сеть. Сначала я думал, что [115442]APUE[115443] будет содержать все ответы, но ошибся. И моя копия (старая редакция) на работе, так что... Глава 5 книги [115444]Unix и Linux Administration Handbook[115445] выглядит многообещающе, но у меня её нет (только копия первых двух изданий, тоже на работе).[12243]Маленькие ресурсы, которые я нашёл (google для "daemon write unix"), говорят о важных шагах, например, о том, как отмежеваться от tty и т.д. Но ничего о UID/GID. Странно, но даже обширная коллекция HOWTO по адресу [115446]http://tldp.org[115447], похоже, не содержит подробностей. Единственным отступлением является Jason Short's [115448]Let's Write a Linux Daemon - part I[115449]. Полные подробности о том, как работает SUID/SGID и вся эта неразбериха - это [115450]SUID Чена, Вагнера и Дина, демистифицированный[115451] (статья в USENIX 2002). Но будьте осторожны, в Linux есть дополнительный UID, FSUID (см. примечания Вольтера по несовместимости с Unix [115452]Unix:
UID Setting Functions[115453] для обсуждения).[12244]Демонизация процесса определённо не для слабонервных. Общие соображения безопасности приведены в работе Д. Уилера [115454]Безопасное программирование для Linux и Unix HOWTO -- Создание безопасного программного обеспечения[115455]. [115456]Systemd[115457] обещает упростить большую часть этого (и тем самым уменьшить пространство для ошибок, которые приводят к проблемам с безопасностью), см. руководство демона [115458][115459].[114912].
27.01.2020, 20:01
Ссылка