The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Раздел полезных советов: Организация в Samba контроля пользо..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Раздел полезных советов: Организация в Samba контроля пользо..."  +/
Сообщение от auto_tips (??) on 12-Июл-11, 13:29 
Ниже представлена попытка без лишних усложнений решить задачу контроля по IP+MAC в Samba без запуска дополнительных служб в системе.

В операционной системе создаются всего два системных пользователя с атрибутом nologin (smbfull с smblim). Данные о работающих в Samba пользователях хранятся в текстовом файле, с таким форматом:

   nicname_ФИО и дополнительная информация _IPaddress_MACaddress_limitsize(block)

Итого пять полей с разделителем "_" (если в имени пользователя допускается знак подчеркивания, в приведенном ниже скрипте следует заменить "_", допустим, на "|").

При превышении указанного объема клиент может продолжать работать со своими документами, редактировать их, но добавить (создать) что-либо или удалить не сможет.

Такой подход может удовлетворить небольшую сеть с индивидуальными ПК, где требуется:

*** нескольким пользователям подключить сетевые папки для документов, каждому свою, с привязкой по IP;

*** возможность иметь общие папки (внутри своих) между двумя или более пользователями для совместного доступа

*** исключить доступ с других ПК (и даже видимость в сетевом окружении)

*** избежать подключения с "левого" ПК (смена IP) посредством контроля MAC адреса

*** контролировать превышение объема информации в каждой директории, выделенной каждому пользователю.

Часть решения подсказал некий robux на форуме linux.org.ru, у него просто авторизировались системные пользователи по IP.

Создаем системных пользователей, первого "smbfull" в группе "smbfull", nologin. Второго "smblim" в группе "smbfull"

Создаем тех же для самбы:

   smbpasswd -n -d smbfull
   smbpasswd -n -d smblim

Каталоги созданных пользователей удалим и создадим общие /home/smbusers для каталогов пользователей и /home/smbses для, так называемых, сессионных каталогов.

Пример файла конфигурации smb.conf

   [global]
   security = user
   passdb backend = smbpasswd:/etc/samba/smbpasswd
   username map script = /etc/samba/login.sh %I
   nullpasswords = yes
   directory mask = 755
   create mask = 755
   inherit owner = yes
   inherit permissions = yes
   log file = /var/log/smbd.%I
   max log size = 20
   hosts allow = 192.168.0.0/24
   socket address = 192.168.0.1

   [docs]
   path = /home/smbses/%I
   public = yes
   writable = yes
   printable = no
   root postexec = /etc/samba/exit.sh %I

Скрипт залогинивания login.sh

   #!/bin/sh -
   fses='/home/smbses/'$1
   rm $fses
   v_ipmac=`/usr/local/bin/arp-scan -q --interface=rl1 $1 | sed -n '3p' | sed 's/[ ]/_/g'`
   res=''
   res=`grep $v_ipmac /etc/samba/access`
   if [ "$res" == "" ]
   then
      echo 'Blocked!!! - '$v_ipmac >> /home/smbusers/log
      exit
   fi
   v_nic=`echo $res | cut -d_ -f1`
   v_sz=`echo $res | cut -d_ -f5`

   v_dir='/home/smbusers/'$v_nic
   ln -s $v_dir $fses
   siz=`du -sL $fses | sed -e 's/[ ].*//g'`
   if [ $siz -gt $v_sz ]
   then
      echo 'limit exceeded! - '$v_nic' '$v_ipmac >> /home/smbusers/log
      echo 'smblim'
   else
      echo 'smbfull'
   fi

Скрипт отключения exit.sh

   #!/bin/sh -
   rm /home/smbses/$1

Скрипт создания пользователей addusmb

   #!/bin/sh -
   fil='/etc/samba/access'
   echo `date` >> $fil
   echo -n ' User (nicname) - '
   read v_nic
   res=`grep -c "^$v_nic" $fil`
   if [ $res != 0 ]
   then
      echo 'nicname '\"$v_nic\"' busy!!!'
      sleep 2
      exit
   fi
   echo -n ' Fullname user - '
   read v_fn
   echo -n ' User IP - '
   read v_ip
   res=`grep -c "$v_ip" $fil`
   if [ $res != 0 ]
   then
      echo 'IP-'$v_ip' busy!!!'
      sleep 2
      exit
   fi
   ping -w 1 -c 1 $v_ip >/dev/null
   if [ $? != 0 ]; then
      echo 'IP address unavailable :('
      sleep 2
      exit
   fi
   echo -n ' Allowable size of files (Mb)- '
   read v_sm
   let "v_sz=$v_sm * 2048"
   v_ipmac=`/usr/local/bin/arp-scan -q --interface=rl1 $v_ip | sed -n '3p' | sed -e 's/[ ]/_/g'`
   # nicname_fullname_ip_mac_limit
   echo $v_nic'_'$v_fn'_'$v_ipmac'_'$v_sz >> /etc/samba/access
   v_dir='/home/smbusers/'$v_nic
   mkdir $v_dir
   chmod 755 $v_dir
   chown smbfull $v_dir
   chgrp smbfull $v_dir
   echo ' Ok!'
   sleep 1

В скриптах между "[" и "]" введен один пробел и один ТАБ.
У каждого свой каталог, каждому назначаем допустимый объем информации, при достижении которого он теряет право на создание чего либо нового, но продолжает работать со своими документами.

При подключении (либо сетевой диск, либо просто ярлык на ресурс) проверяется соответствие IP_MAC, и, если есть совпадение в файле access, то вытягивается с этой строки nicname и допустимый объем.
Создается симлинк директории пользователя с /home/smbusers/user в /home/smbses/~IP

Проверяется размер директории пользователя, сравнивается с дозволенным. Если значение меньше допустимого, то входим под пользователем smbfull с полными правами, если лимит превышен - входим под smblim. По завершении сеанса в Windows линк удаляется.

Для организации общего ресурса между двумя или более пользователями ( с одинаковыми правами в этой папке!) просто делаем симлинк внутренней папки пользователя в папку другого (других).

Можно еще добавить шару и делать так же симлинк какой-то папки пользователя в шару для публикаций файлов, при этом не бояться за их исчезновение или редактирование.

При тестах не стоит спешить, при подключении (при обращении) создается линк и процесс сессии, при отключении от самбы (достаточно отключить сетевой диск или закрыть папку) линк с /home/smbses/ удаляется быстро, а вот процесс может еще повисеть.

Пока процесс висит - самба вас помнит, и конфигурацию при подключении не перечитает. Можно дождаться закрытия процесса или убить вручную, тогда при подключении вступят в силу внесенные изменения.


URL:
Обсуждается: http://www.opennet.dev/tips/info/2601.shtml

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по ответам | RSS]

1. "Организация в Samba контроля пользователей по IP и MAC с псе..."  +/
Сообщение от Аноним (??) on 12-Июл-11, 13:29 
Шепотом: может кто подсказать что конктно нужно поставит/настроить для того чтобы виндоус машины видели cамба сервер по нетбиос имени. nbm запускается, Netbios name в smb.conf прописан. В "сетевом окружении" и "компах рабочей группы" сервера тоже нет. Фаерволл непричем.
security стоит user (если это влияет) Доступ по айпи работает. Даже при вязал имя сервера к айпи на ДНС сервере (маршрутизатор), но им пользуются только линукс машины, как я понял.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Организация в Samba контроля пользователей по IP и MAC с псе..."  +/
Сообщение от шл_мимо email on 12-Июл-11, 18:34 
Шутник однако, или сказочник?
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Организация в Samba контроля пользователей по IP и MAC с псе..."  +/
Сообщение от Anonym1 on 12-Июл-11, 23:24 
Вероятно, Windows7 имеется в виду?
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

4. "Организация в Samba контроля пользователей по IP и MAC с псе..."  +/
Сообщение от universite email(ok) on 13-Июл-11, 03:56 
там надо рабочую группу правильную выставить.
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "Организация в Samba контроля пользователей по IP и MAC с псе..."  +/
Сообщение от ананим on 13-Июл-11, 11:17 
копай тему по словам master local browser
типа так http://www.google.ru/webhp?sourceid=chrome-instant&ie=UTF-8&...
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

6. "Организация в Samba контроля пользователей по IP и MAC с псе..."  +/
Сообщение от AHAHAC (ok) on 13-Июл-11, 19:15 
Никогда не работайте с MAC адресами как с признаком аутентификации.
Во-первых, бесполезно, во-вторых, себе геморрой, например когда
появляется новая машина или в сетке возникает маршрутизатор.

Подобные советы, это костыль админа-чайнега.

И вообще, MAC адреса не предназначены для использования в прикладном  
пользовательском или серверном софте.

Дайте мне примеры использования в Ваших системах маков, и я скажу,
и даже докажу, что это вы ху..во спроектировали сеть и рабочий процесс,
что нельзя отказаться от маков.


Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

7. "Организация в Samba контроля пользователей по IP и MAC с псе..."  +/
Сообщение от Аноним (??) on 13-Июл-11, 23:15 
Косяк был в неправильно указанном interface в smb.conf. Надо указывать конкретный IP сервера, а не подсеть. nmbd не запускался. Теперь все ОК.
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

8. "Организация в Samba контроля пользователей по IP и MAC с псе..."  +/
Сообщение от Аноним (??) on 13-Июл-11, 23:21 
Маки позволяют организовать управляемый и хоть немного безопасный доступ клиентов к шарам без телодвижений пользователей в плане запоминания и ввода паролей. Как автоматизировать последнее (невидимая для пользователя идентификация)? Интересует на винде, т к я ее плохо знаю. Например, батничек написать?

ЗЫ: если дать пользователю пароль, то через день его будет знать и использовать весь отдел, а через неделю вся фирма.


Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

9. "Организация в Samba контроля пользователей по IP и MAC с псе..."  +/
Сообщение от AHAHAC (ok) on 14-Июл-11, 01:53 
# ifconfig eth0 0.0.0.0 hw ether 00:50:de:ad:be:ef

В венде через настройки сетевухи

00:50:de:ad:be:ef  - находиться из прослушивания ARP трафика

> Как автоматизировать последнее (невидимая для пользователя идентификация)?

TACACS/TACACS+/RADIUS/LDAP/Kerberos

LDAP быстрее всего - http://www.lissyara.su/articles/freebsd/programms/samba+ldap/

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

10. "Организация в Samba контроля пользователей по IP и MAC с псе..."  +/
Сообщение от mastertron email on 14-Июл-11, 19:28 
Война религий? :)
Это не совет, а вариант реализации.
А вот совет:
Никогда не стройте малые сети по "профессионалам"! Это дорого ( оборудование, ПО,... и постоянно), вагон лишнего, всех тонкостей не поймете (не найдете), всех дыр не залатаете (ют), всех вирусов не переловите, большую часть ресурсов сжерают службы никому не нужные, ...  ( и в шутку и всерьез).
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

11. "Организация в Samba контроля пользователей по IP и MAC с псе..."  +/
Сообщение от AHAHAC (ok) on 15-Июл-11, 00:59 
Религия должна быть одна - грамотное и детальное планирование, начиная с расположений розеток в помещении.

Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

12. "Организация в Samba контроля пользователей по IP и MAC с псе..."  +/
Сообщение от Crazy Alex (ok) on 22-Июл-11, 12:54 
Любяа сложность реализации добна обосновываться сложност ью задачи. Если у вас два компьютера в двух метарх - то кроссовер в опмощь, если пяток - d-link на стену и провода о плинтусу (а то и просто за мебелью), если больше - соотвтественно усложняем - те же розетки появляются и т.д. А то есть любители на пяток машин чуть ли СКС развернуть.
Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

13. "Организация в Samba контроля пользователей по IP и MAC с псе..."  +/
Сообщение от igor (??) on 26-Июл-11, 13:18 
"При превышении указанного объема клиент может продолжать работать со своими
документами, редактировать их, но добавить (создать) что-либо или УДАЛИТЬ не сможет."
Что за маразм? Забил каталог и сиди как дурак жди одмина? Или сиди одмин как дурак и вручную чисти каталоги пользователя?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру