LINUX.ORG.RU

Нет прав на работу с портом 80

 , ,


0

1

Есть тулза, которая должна слушать порт (на шарпе, если важно). Под обычным пользователем система дает ей отлуп, мол, нет прав. Под рутом все ок. Система дебиан 7. В чем косяк? Куда посмотреть? Как дать прав?

Unhandled Exception:
System.IO.IOException: Unable to bind socket
★★★★★

Последнее исправление: bvn13 (всего исправлений: 1)

скан паспорта отправь на этот порт.

splinter ★★★★★
()
Ответ на: комментарий от ziemin

на шарпе, если важно

Исходники есть? Если нет попробуй monodevelop'ом открыть (линуксовый весь код декомпилирует).

Общепринятый алгоритм такой: запуститься от рута, забиндить порты, сменить юзера на «бездомного» и бесправного. Открытые сокеты уже можно юзать кому угодно.

Ну или запусти socat с перенаправлением на непривелигированный порт.

ziemin ★★
()

Косяка нет, все порты <1024 открыть может только root.

Решение: run as root and drop privileges to desired user ... and chroot.

beastie ★★★★★
()
Последнее исправление: beastie (всего исправлений: 1)
Ответ на: комментарий от anonymous

Sorry, but, as programmer, I think in this language partially. And it is shorter and more precise, особенно когда сидишь с телефона. ;)

beastie ★★★★★
()
Последнее исправление: beastie (всего исправлений: 1)
Ответ на: комментарий от leave

Из рубрики «вредные советы»

Зачем? Есть же man capabilities

ТС, держи:

setcap "CAP_NET_BIND_SERVICE=+ep" ./http_service

UPD писал по памяти, куда копать — направление дал.

Kiborg ★★★
()
Последнее исправление: Kiborg (всего исправлений: 1)
Ответ на: комментарий от v9lij

Если эту программу он написал, то, раз он писал на шарпе, значит латентный вендоузятнег. Или нелатентный, просто сказали «пиши, чтобы под linux работало».

te111011010
()
Ответ на: комментарий от anonymous

setuid обязательно должен быть последним. но, как выше написали, лучше использовать linux capabilities, если портабельность не нужна

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.