Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Администрирование *NIX систем > Можно ли запретить пользователю слушать порт?


Автор: batigoal 9.3.2006, 15:33
Сабж. Можно ли запретить конкретному пользователю запускать, скажем, Апач на конкретном порту, например, 81? Если да, то как это можно сделать?

Автор: DENNN 10.3.2006, 15:44
iptables/ipchains/ipfw/ipf/pf ?
".. обдумай все эти возможности, Пятачок, прежде чем вы начнете развлекаться." (с) А.А.Милн.

Автор: batigoal 10.3.2006, 16:50
Цитата(DENNN @ 10.3.2006, 16:44 Найти цитируемый пост)
iptables/ipchains/ipfw/ipf/pf

Ух, как глубоко-то. Спасибо, буду разбираться, что есть что.

Автор: bilbobagginz 10.3.2006, 19:12
Здрасьте вам, Джордж!
Начнем с того, что простой пользователь не имеет никакого права использовать порт <1024.
Кроме того фаерволлом линуха можно блокировать все что можно блокировать им и по номеру пользователя (PID)

но, все же, Может начнем с того что опишется задача/проблема ( в изначальной форме ), и попытаемся решить ее ?





Автор: batigoal 10.3.2006, 19:51
Цитата(bilbobagginz @ 10.3.2006, 20:12 Найти цитируемый пост)
Начнем с того, что простой пользователь не имеет никакого права использовать порт <1024.

Да, это я уже знаю. Поимев когда-то проблемы, перешел на большие номера портов - лениво юзера переключать smile

Цитата(bilbobagginz @ 10.3.2006, 20:12 Найти цитируемый пост)
Может начнем с того что опишется задача/проблема ( в изначальной форме ), и попытаемся решить ее ?

Не вопрос.
Задача скорее познавательного характера, нежели для реального использования.

Есть сервер, на нем Солярис, под Солярисом - веб-приложение. Запуск приложения осуществляется скриптом, один из элементов которого - старт Апача и Резина. Одновременно может быть запущено несколько копий приложения, из-под разных пользователей и на разных портах. В принципе, есть договоренность, что каждый использует свой диапазон портов, но изредка люди забывают поменять значение. Ты пытаешься запустить свое приложение, а выясняется, что кто-то уже занял твой диапазон. Вот мне и пришел в голову вопрос - а можно ли запретить пользователю user_1 стартовать приложения, слушающие, например, порты с 10000 по 19999.

Способ "поменяй раз и навсегда юзеру стартующий скрипт" не подойдет - этот файл постоянно обновляется (от билда к билду, или, например, если тестер берет копию моей системы).

Автор: bilbobagginz 10.3.2006, 20:53
Во I-ых: Соляра != Линух
Во II-ых: файл то обновляется, а заставить сартующий скрипт перед запуском делать нужные проверки и вылетать при несоответствии - это не сложно ( напр. если это скрипт можно . ./control_ports где-то )
В III-их: Линуксе существуют проекты как SELinux и RSBAC, которые дают тебе контроль над тем что тебя интересует. Не знаю насколько они легки в употреблении, но они работают и позволяют то что тебе нужно.

сам еще не настраивал такие штуки, но документация есть.

Пока.

Автор: batigoal 10.3.2006, 23:04
Цитата(bilbobagginz @ 10.3.2006, 21:53 Найти цитируемый пост)
Во I-ых: Соляра != Линух

Мда, об используемой оси я забыл упомянуть.

Цитата(bilbobagginz @ 10.3.2006, 21:53 Найти цитируемый пост)
Во II-ых: файл то обновляется, а заставить сартующий скрипт перед запуском делать нужные проверки и вылетать при несоответствии - это не сложно ( напр. если это скрипт можно . ./control_ports где-то )

Согласен, это несложно, но есть одно НО: мы обязаны работать с теми же билдами, которые предоставляем клиентам. Разумеется, без весомой причины менять такие ключевые места, как процедуру инсталляции, мне не позволят, да я и сам не решусь.

Цитата(bilbobagginz @ 10.3.2006, 21:53 Найти цитируемый пост)
III-их: Линуксе существуют проекты как SELinux и RSBAC, которые дают тебе контроль над тем что тебя интересует.

А вот это весьма и весьма интересно. Спасибо. Поищу по ним информацию.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)