Запрет использования порта для службы

Sabayon, Calculate, Funtoo, Exherbo

Модератор: /dev/random

Аватара пользователя
l0stparadis3
Сообщения: 207
Статус: GNU/FireShow
ОС: Mac OS X | FreeBSD

Запрет использования порта для службы

Сообщение l0stparadis3 »

На сервере стоит apache и socks-сервер dante. Изначально в dante стоял порт 1080, все работало нормально. Затем понадобилось поменять порт на что-то научно-популярное, выбрал 443, потому что не использую все равно. Выключил апач, запустил данте - не работает, ошибка при бинде на порт 443. Думаю, апач виноват - пересобрал с use="-ssl". Проблема не исчезла.
Данте стартовал от пользователя sockd. Поменял на рута - все отлично заработало. Собственно, как сделать так, чтобы сервер мог использовать порт 443 не только от рута, но и от собственного пользователя?
Если в Linux не существует решения вашей проблемы... То у вас неправильная проблема.
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: Запрет использования порта для службы

Сообщение serzh-z »

l0stparadis3 писал(а):
19.04.2010 13:29
как сделать так, чтобы сервер мог использовать порт 443 не только от рута, но и от собственного пользователя?
Использовать inetd/xinetd. Они умеют запускать сервис от обычного пользователя.
Спасибо сказали:
Corvus
Сообщения: 78

Re: Запрет использования порта для службы

Сообщение Corvus »

Порты <1024 считаются привелегированными.
Спасибо сказали:
Аватара пользователя
xorader
Сообщения: 1030
Статус: собирающий миры
ОС: Debian

Re: Запрет использования порта для службы

Сообщение xorader »

> Собственно, как сделать так, чтобы сервер мог использовать порт 443 не только от рута, но и от собственного пользователя?

Тут только патчить ядро.

xorader писал(а):
20.04.2010 14:28
> Собственно, как сделать так, чтобы сервер мог использовать порт 443 не только от рута, но и от собственного пользователя?

Тут только патчить ядро.


....ну или iptables'ом forward'ить 443ий порт на другой повыше.
Molchanov Alexander (aka Xor)
*offtopic* - ololo!
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: Запрет использования порта для службы

Сообщение serzh-z »

Зачем пачить, зачем головой об стену биться? Запускаем xinetd с нужным портом, которому указываем что коннект нужно передать другому сервису, который будет запущен от обычного пользователя.
Спасибо сказали:
Аватара пользователя
xorader
Сообщения: 1030
Статус: собирающий миры
ОС: Debian

Re: Запрет использования порта для службы

Сообщение xorader »

serzh-z писал(а):
20.04.2010 14:38
Зачем пачить, зачем головой об стену биться? Запускаем xinetd с нужным портом, которому указываем что коннект нужно передать другому сервису, который будет запущен от обычного пользователя.


а можно пример конфига для xinetd для подобного ?
Molchanov Alexander (aka Xor)
*offtopic* - ololo!
Спасибо сказали:
Аватара пользователя
l0stparadis3
Сообщения: 207
Статус: GNU/FireShow
ОС: Mac OS X | FreeBSD

Re: Запрет использования порта для службы

Сообщение l0stparadis3 »

serzh-z писал(а):
19.04.2010 13:47
]Использовать inetd/xinetd. Они умеют запускать сервис от обычного пользователя.

Спасибо, попробую...

xorader писал(а):
20.04.2010 14:28
....ну или iptables'ом forward'ить 443ий порт на другой повыше.

Форвардить порт для прокси-сервера - как-то не кошерно звучит =)
Если в Linux не существует решения вашей проблемы... То у вас неправильная проблема.
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: Запрет использования порта для службы

Сообщение serzh-z »

xorader писал(а):
20.04.2010 14:44
а можно пример конфига для xinetd для подобного ?
Лех-ко:
QUOTE писал(а):service rsync
{
socket_type = stream
protocol = tcp
wait = no
user = serzh
server = /usr/bin/rsync
server_args = --daemon
}
"nc localhost 873" вынудит xinetd запустить rsync от обычного юзера и передать ему дескрипторы сокетов, присоединённых к привилегированным портам.
Спасибо сказали:
Аватара пользователя
xorader
Сообщения: 1030
Статус: собирающий миры
ОС: Debian

Re: Запрет использования порта для службы

Сообщение xorader »

serzh-z, ты не понял :) а если мне сервер нужно демоном запускать ? ну не умеет он, к примеру запускаться для каждого коннекта отдельным процессом... и как же быть ? где серебрянная пуля?

P.S. может опция в xinet.d-конфиге redirect поможет ?! ;)

P.P.S. да и асболютно дико для сервера расчитанного на большую нагрузку - создавать отдельный процесс-демон на каждый коннект!
Molchanov Alexander (aka Xor)
*offtopic* - ololo!
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5438
ОС: Gentoo

Re: Запрет использования порта для службы

Сообщение /dev/random »

Как правило, в таких случаях сервер берёт эту проблему на себя. Нужно запустить его от рута, а в конфиге указать пользователя, на которого он должен переключиться после успешного открытия привилегированного порта. Упомянутый топикстартером Dante эту возможность поддерживает.
Спасибо сказали: