URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 9937
[ Назад ]

Исходное сообщение
"права root для не root"

Отправлено alex_eisner , 10-Ноя-14 09:11 
Здравствуйте!
Есть задача написать программу. ОС FreeBSD. Программа будет многопоточная, много ресурсов будет выделяться, а также освобождаться. На сколько я понимаю, в таких случаях запускать программу от root пользователя некошерно. Но есть такая функция setsockopt(tcp_server_sock, IPPROTO_IP, IP_BINDANY, &trans, sizeof(trans)), без которой ну никак. Простому пользователю данная опция сокета запрещена.
Вопрос. Можно ли разрешить данную опцию для не root? К сожалению нагуглить не получилось.

Заранее спасибо.

С уважением,
Алексей!


Содержание

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

Отвечу на ваш вопрос: В общем случае - нет, нельзя.

Когда мы писали дипломные работы, мы делали раздел "Аналоги".
Жаль, что вас этому не научили.


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

Запускать от рута, потом сбрасывать EUID/EGID до нужного пользователя. Посмотрите как тот-же апач или nginx или php-fpm например работает.