LINUX.ORG.RU
ФорумAdmin

Подключение инета при входе в домен, отключение при выходе


0

0

Собственно subj. Мне нужно, чтобы при входе в домен добавлялись правила iptables, разрешающие компьютеру, с которого зашёл пользователь, доступ в интернет (почта, веб, аська и т.д. Так что авторизацию на SQUID просьба не предлагать: это только небольшая часть решения проблемы), а во время logout'а пользователя эти правила удалялись. Есть одна идея с magic script'ом, но мне она, откровенно говоря, не слишком нравится, так что хотелось бы услышать мнение уважаемых коллег по сисадминскому цеху.

★★★★★
Ответ на: комментарий от sdio

Нет, мне нужно, чтобы при входе пользователя в домен открывался доступ в Интернет, а при выхода - снова закрывался.

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

Что такое "вход в домен"? Это логин юзера в Виндовсе?

Ну тогда крути виндовый домен-контролер (ведь его ты знаешь хорошо, а?), чтобы он "уведомлял" в вменяемом виде (хотя бы в текстовый файл чтобы записывал) о входе/выходе пользователя в/из домен(а), а мы тебе поможем с Линуксом.

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

В общем, нашёл я то, что мне было нужно (WebAlta forever!! :-) ) Вот, читайте, вникайте, кому хоть немного интересен данный вопрос: http://ftp.chg.ru/pub/Linux/HOWTO/Samba-Authenticated-Gateway-HOWTO (текстовый файл с какими-то странными ESC-последовательностями). Заодно зайдите на http://sourceforge.net/projects/smbgate Там пока не густо, но, я думаю, славные ЛОР'овцы положение быстренько в лучшую сторону изменят :) Кстати, идея с magic script заключалась в следующем: Windows сама при логине и логауте пользователя умеет выполнять скрипты (а Samba умеет только на логин подсовывать BAT'ник, находящийся в шаре netlogon), так что нужно: 1) Создать специальную шару, в которой прописать параметр magic script = СКРИПТ_ДЛЯ_SAMBA_СЕРВЕРА %I %h %u 2) На стороне Windows как в логон, так и в логаут-BAT'е (или что это ещё может быть? Ну Kixstart-скрипт, наверное. Или программа какая-нибудь простенькая на VB) делать копию с оригинала magic script'а (например, пусть это будет bash-скрипт) на созданной нами специальной шаре, после чего Samba будет этот скрипт автоматически выполнять, передавая ему заданные нами в виде маркосов параметры (%I, %u, %h в моём случае) и автоматически удаляя файл после завершения работы скрипта Всё должно бы работать по идее (хотя параметр magic script в sm.conf - это вообще одна большая загадка), но проблема заключается в том, что: 1) magic script'у нужно работать по принципу конечного автомата, помнящего о своём предыдущем состоянии; 2) реестр нужно на каждой Windows-машине править (для того, чтобы пути к логон-логаут BAT'никам прописать), что по идее, имея администраторские права в домене, можно делать удалённо, но поскольку я с Форточками далеко не на "ты", приходится от незнания за каждым чихом бегать по всем клиентским компам, настраивать на месте, а это создаёт массу неудобств.

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

Вот ссылка на документ в HTML (это читать удобнее) http://www.tldp.org/HOWTO/Samba-Authenticated-Gateway-HOWTO-1.html

Резюме из этого документа можно сделать только одно: дело ясное, что дело тёмное :( Вариант с просмотром вывода smbstatus'а по cron'у - это какое-то извращенство по-моему, к тому же я так и не понял, каким образом можно из этого вывода понять, находится ли пользователь в системе или нет (вышел он из сеанса или не вышел). Мало ли, может у него все шары отмонтировались и никаких lock-файлов вовсе нет? На Python я не программирую, поэтому что там этот smbgate.py делает, понять затруднительно. Судя по всему, опять же, мониторит постоянно с малым интервалом состояние сети с помощью smbstatus'а. Какой в этом может быть толк - полная загадка :( Если пользователь не пользуется ресурсами других компьютеров домена, в выводе smbstatus его не будет, правильно?

DRVTiny ★★★★★
() автор топика

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

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

А лучше - пусть по SSH коннектится на шлюзовой сервер (пусть только попробует забыть парольную фразу!) и ходит на сайты оттуда, при помощи lynx - это вообще идеал будет, можно сказать апофеоз UNIX-way!

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

В общем, пока что я использую скрипт, который с помощью fcron'а запускается каждые с периодом в 30 секунд и проверяет, не дисконектился ли уже пользователь, сканируя вывод smbstatus -b. В общем-то всё работает, хотя информация, выдаваемая smbstatus'ом, не всегда отражает акутальное состояние пользователя (ещё 2-3 минуты после выхода пользователя из сеанса smbstatus его каким-то непостижимым образом "видит"). В общем, обработка события выхода из сеанса реализована в Samba не просто отвратительно, а буквально через одно место. Но если немного извратиться, то работать можно. И это радует.

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

Итак, выяснил следующее: на стороне клиента (Windows-машина) logon и logoff - скрипты прописываются в следующей ветке реестра:

HKEY CURRENT USER/Software/Policies/Microsoft/Windows/System/Scripts/Log{on,off)

Но лучше не лезть в реестр, а через gpedit.msc зайти в "Конфигурация пользователя" -> "Конфигурация Windows" -> "Сценарии" и настроить пути к logon'у с logoff'ом там. В понедельник попробую поколдовать над параметром magic script в smb.conf'е с привлечением к этому делу примитивного logoff-скрипта на стороне клиента. Впрочем, можно и посложнее что-нибудь написать, благо что под Windows работает мой любимый FreeBasic :)

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