Здравствуйте!
Есть задача написать программу. ОС FreeBSD. Программа будет многопоточная, много ресурсов будет выделяться, а также освобождаться. На сколько я понимаю, в таких случаях запускать программу от root пользователя некошерно. Но есть такая функция setsockopt(tcp_server_sock, IPPROTO_IP, IP_BINDANY, &trans, sizeof(trans)), без которой ну никак. Простому пользователю данная опция сокета запрещена.
Вопрос. Можно ли разрешить данную опцию для не root? К сожалению нагуглить не получилось.Заранее спасибо.
С уважением,
Алексей!
>[оверквотинг удален]
> будет выделяться, а также освобождаться. На сколько я понимаю, в таких
> случаях запускать программу от root пользователя некошерно. Но есть такая функция
> setsockopt(tcp_server_sock, IPPROTO_IP, IP_BINDANY, &trans, sizeof(trans)), без которой
> ну никак. Простому пользователю данная опция сокета запрещена.
> Вопрос. Можно ли разрешить данную опцию для не root? К сожалению нагуглить
> не получилось.
> Заранее спасибо.
> С уважением,
> Алексей!
> Вопрос. Можно ли разрешить данную опцию для не root?Отвечу на ваш вопрос: В общем случае - нет, нельзя.
Когда мы писали дипломные работы, мы делали раздел "Аналоги".
Жаль, что вас этому не научили.
>[оверквотинг удален]
> Есть задача написать программу. ОС FreeBSD. Программа будет многопоточная, много ресурсов
> будет выделяться, а также освобождаться. На сколько я понимаю, в таких
> случаях запускать программу от root пользователя некошерно. Но есть такая функция
> setsockopt(tcp_server_sock, IPPROTO_IP, IP_BINDANY, &trans, sizeof(trans)), без которой
> ну никак. Простому пользователю данная опция сокета запрещена.
> Вопрос. Можно ли разрешить данную опцию для не root? К сожалению нагуглить
> не получилось.
> Заранее спасибо.
> С уважением,
> Алексей!Запускать от рута, потом сбрасывать EUID/EGID до нужного пользователя. Посмотрите как тот-же апач или nginx или php-fpm например работает.