View previous topic :: View next topic |
Author |
Message |
KUV Tux's lil' helper
Joined: 18 Mar 2005 Posts: 128
|
Posted: Tue Apr 12, 2005 1:45 pm Post subject: Права юзеров на сеть |
|
|
Скажите плиз, как устанавливать права юзеров на использование сетевых подключений?
Если конкретно - к моей тачке имеют шелл доступ несколько челов из локалки, и я не хочу чтоб они могли юзать мое PPPoE подключение, ибо траффик у меня не халявный. |
|
Back to top |
|
|
ba l33t
Joined: 25 May 2003 Posts: 804
|
Posted: Tue Apr 12, 2005 2:01 pm Post subject: |
|
|
iptables и -m owner |
|
Back to top |
|
|
KUV Tux's lil' helper
Joined: 18 Mar 2005 Posts: 128
|
Posted: Tue Apr 12, 2005 2:33 pm Post subject: |
|
|
Сорри, а можно поподробнее?
Потыкался по манам, но iptables слишком обширная система чтоб разбираться в ней во всей ради такой мелочи.
Попробовал ввести нечто типа iptables -A OUTPUT -m owner --gid-owner dialout, но юзера не входящие в эту группу по прежнему могут пользоваться сетью.
Можно привести конкретную команду, которая даст использовать ppp0 только группе dialout? Сенькс заранее. |
|
Back to top |
|
|
ba l33t
Joined: 25 May 2003 Posts: 804
|
Posted: Tue Apr 12, 2005 6:57 pm Post subject: |
|
|
Code: | iptables -A OUTPUT -o ppp0 -m owner ! --gid-owner dialout -j REJECT |
а вообще советую разобраться... |
|
Back to top |
|
|
KUV Tux's lil' helper
Joined: 18 Mar 2005 Posts: 128
|
Posted: Tue Apr 12, 2005 9:23 pm Post subject: |
|
|
Так как написано сделать не получилось - он требует _активной_ группы dialout, а не вхождения юзера в нее. Если знаете как сделать группу - напишите, а так пока пришлось прописать чтоб рута и меня пускало, а всех остальных нет. Неудобно, если юзеров делать много, апач например еще, и т.д.=(. |
|
Back to top |
|
|
GreenDragon Guru
Joined: 31 Jul 2003 Posts: 319
|
Posted: Wed Apr 13, 2005 5:22 am Post subject: |
|
|
KUV wrote: | Так как написано сделать не получилось - он требует _активной_ группы dialout, а не вхождения юзера в нее. Если знаете как сделать группу - напишите, а так пока пришлось прописать чтоб рута и меня пускало, а всех остальных нет. Неудобно, если юзеров делать много, апач например еще, и т.д.=(. |
Похоже Вы или не то читали, или не так поняли, на всякий случай привожу цитату:
Code: | Расширение owner
Расширение owner предназначено для проверки "владельца" пакета. Изначально данное расширение было написано как пример демонстрации возможностей iptables. Допускается использовать этот критерий только в цепочке OUTPUT. Такое ограничение наложено потому, что на сегодняшний день нет реального механизма передачи информации о "владельце" по сети. Справедливости ради следует отметить, что для некоторых пакетов невозможно определить "владельца" в этой цепочке. К такого рода пакетам относятся различные ICMP responses. Поэтому не следует употреблять этот критерий к ICMP responses пакетам.
Таблица 12. Расширение owner
Критерий --uid-owner
Пример iptables -A OUTPUT -m owner --uid-owner 500
Описание Производится проверка "владельца" по User ID (UID). Подобного рода проверка может использоваться, к примеру, для блокировки выхода в Интернет отдельных пользователей.
Критерий --gid-owner
Пример iptables -A OUTPUT -m owner --gid-owner 0
Описание Производится проверка "владельца" пакета по Group ID (GID).
Критерий --pid-owner
Пример iptables -A OUTPUT -m owner --pid-owner 78
Описание Производится проверка "владельца" пакета по Process ID (PID). Этот критерий достаточно сложен в использовании, например, если мы хотим позволить передачу пакетов на HTTP порт только от заданного демона, то нам потребуется написать небольшой сценарий, который получает PID процесса (хотябы через ps) и затем подставляет найденный PID в правила. Пример использования критерия можно найти в pid-owner.txt.
Критерий --sid-owner
Пример iptables -A OUTPUT -m owner --sid-owner 100
Описание Производится проверка Session ID пакета. Значение SID наследуются дочерними процессами от "родителя", так, например, все процессы HTTPD имеют один и тот же SID (примером таких процессов могут служить HTTPD Apache и Roxen). Пример использования этого критерия можно найти в sid-owner.txt. Этот сценарий можно запускать по времени для проверки наличия процесса HTTPD, и в случае отсутствия - перезапустить "упавший" процесс, после чего сбросить содержимое цепочки OUTPUT и ввести ее снова. |
и правило Code: | iptables -A OUTPUT -o eth0 -m owner ! --gid-owner 10 -j REJECT |
отлично работает и пускает только пользователей группы wheel |
|
Back to top |
|
|
KUV Tux's lil' helper
Joined: 18 Mar 2005 Posts: 128
|
Posted: Wed Apr 13, 2005 8:31 am Post subject: |
|
|
Читал, и так понял что у пакета имеется его UID, а GID - это активная группа UID, та что прописана в passwd.
По-моему это не я чтото недочитал
В дополнение приведу листинг:
Code: | > iptables -A OUTPUT -o ppp0 -m owner ! --gid-owner 20 -j REJECT
> id
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel),11(floppy),20(dialout),26(tape),27(video)
> iptables -L OUTPUT
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
REJECT all -- anywhere anywhere ! OWNER GID match dialout reject-with icmp-port-unreachable
> ping google.com
ping: unknown host google.com
> iptables -D OUTPUT 1
ping google.com
> PING google.com (216.239.57.99) 56(84) bytes of data.
64 bytes from 216.239.57.99: icmp_seq=1 ttl=237 time=189 ms
|
Вот что использую я, это работает:
Code: | iptables -L OUTPUT
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere OWNER UID match root
ACCEPT all -- anywhere anywhere OWNER UID match kuv
REJECT all -- anywhere anywhere reject-with icmp-port-unreachable
|
Нельзя так как я хочу сделать я думаю нельзя по следующей причине - тогда придется пробегать всю таблицу групп для каждого пакета, а это будет сильно тормозить тачку при работе по сети. Другое дело можно написать скрипт, который выбирает пользователей нужной группы и переформирует цепочку OUTPUT, для упрощения изменений. |
|
Back to top |
|
|
ba l33t
Joined: 25 May 2003 Posts: 804
|
Posted: Wed Apr 13, 2005 9:58 am Post subject: |
|
|
ммм... а пинг всегда будет работать, потому что он суидный... |
|
Back to top |
|
|
GreenDragon Guru
Joined: 31 Jul 2003 Posts: 319
|
Posted: Wed Apr 13, 2005 12:38 pm Post subject: |
|
|
Quote: | К такого рода пакетам относятся различные ICMP responses. Поэтому не следует употреблять этот критерий к ICMP responses пакетам. |
Не это ли ответ на Ваш вопрос о ping
PS: может непонятно написал, тогда в одном терминале Code: | # trafshow -ni eth0 |
во втором Code: | $ ping 216.109.112.135 |
и анализируем тип пакетов, глядя в trafshow |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|