Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Dmitry.Karpov http://www. Гость
|
Добавлено: Пн Дек 17 2001 21:08 Заголовок сообщения: Можно ли натравить smpauth не на \\PDC\netlogon\proxyauth, а на разные файлы в зависимости от запрашиваемого URL? |
|
|
Есть FreeBSD-сервер с Proxy-сервером Squid и с Samba-сервером в составе домена. Контроллером домена рулю не я, поэтому оперативно поправить что-либо там сложно.
SmbAuth при доступе клиента через Squid к Web-странице проверяет, может ли клиент читать \\PDC\netlogon\proxyauth, и на этом основании разрешает или запрещает. Можно ли заставить SmbAuth читать указанный мной файл на моем FreeBSD-сервере, где я смогу рулить правами доступа к файлам? |
|
Вернуться к началу |
|
|
and3008
Зарегистрирован: 12.10.2001 Сообщения: 14893 Откуда: Н.Новгород
|
Добавлено: Вт Дек 18 2001 13:26 Заголовок сообщения: Re: Можно ли натравить smpauth не на \\PDC\netlogon\proxyauth, а на разные файлы в зависимости от запрашиваемого URL? |
|
|
Можно. В скриптик загляни и все поймешь. Там все просто как божий день. |
|
Вернуться к началу |
|
|
Dmitry.Karpov http://www. Гость
|
Добавлено: Вт Дек 18 2001 16:41 Заголовок сообщения: А скрипт можно использовать вместо EXEшника (ELFешника)? |
|
|
А скрипт можно использовать вместо EXEшника (ELFешника)? Как оно вообще сообщает, можно ли пускать юзера или нет?
А как можно настроить контрольный файл в зависимости от запрашиваемого URL? |
|
Вернуться к началу |
|
|
and3008
Зарегистрирован: 12.10.2001 Сообщения: 14893 Откуда: Н.Новгород
|
Добавлено: Вт Дек 18 2001 21:17 Заголовок сообщения: Re: А скрипт можно использовать вместо EXEшника (ELFешника)? |
|
|
Да там все просто до ужаса. Схема такая: squid запускает внешнюю прогу и передает ей два параметра. Имя юзверя и пароль.
smbauth состоит из двух частей. Первая часть писана на Сях. Она принимает имя и пароль от squid-а. Затем она запускает обычный текстовый скриптик задача которого сунутся на нужный ресурс с именем и пассвордом, который пришел от squid-а. Если на пустили, то через обычный stderr возвращаем либо "все гуд", либо "все в сад". Ну я думаю понимаешь о чем я.
Соответственно на основании этой волшебной строчки прога промежуточного слоя возвращает squid-у типа Ноль, если все хокей, либо -1 если все ужасно.
Ну уж а squid либо грузит страницу с сайта, либо из каталога Errors.
Зачем нужна прога промежуточного слоя? Честно говоря не знаю, видимо это более правильно с точки зрения API squid-а. |
|
Вернуться к началу |
|
|
Dmitry.Karpov http://www. Гость
|
Добавлено: Вт Дек 18 2001 23:56 Заголовок сообщения: Что-то сомнительно... |
|
|
Смотрим начало smb_auth.sh : read DOMAINNAME read PASSTHROUGH read NMBADDR read NMBCAST read AUTHSHARE read AUTHFILE read SMBUSER read SMBPASS
Откуда приходят остальные параметры, кроме имени и пароля? Наверно, их и берет бинарник из cmb.conf; видимо, он же организует бесконечный цикл, в котором читает ввод пары "username password" и генерит ответ "OK" or "ERR" - так написано в squid.conf.
А вот какой смысл организовывать две программы, причем одну из них - скрипт, запускающий несколько процессов? Неужели нельзя было сделать все ELFешником или скриптом?
Похоже, придется копаться в исходниках... |
|
Вернуться к началу |
|
|
and3008
Зарегистрирован: 12.10.2001 Сообщения: 14893 Откуда: Н.Новгород
|
Добавлено: Ср Дек 19 2001 22:42 Заголовок сообщения: Re: Что-то сомнительно... |
|
|
Остальное приходит от проги, которую запускает squid. Почему автор так сделал? Дык ты ему письмо напиши и спроси. Я не разбирался, но думаю сделано так не зря, т.к. если б все было так просто, то этих smb_auth-ов было как грязи. Каждый бы лепил кто во что горозд.
А этот только один. Есть еще один, но по моему менее функционален.
Хотя нет. Мысли есть. Скрипт запускать не имеет смысла, т.к. скрипт требует довольно много накладных расходов. Ведь их squid запустит кучу (регулируется). И в ELF тоже все кидать смысла нет, т.к. выйдет новая версия Самбы или еще какая фигня и все. Прога не пашет, т.к. либо командная строка изменилась, либо код ошибки стал другой, либо еще какая фигня. Так что автор по моему мудро поступил. За это ему пять с плюсом.
Я на все эти параметры, кроме SMBUSER и SMBPASS наплевал и прописал жестко свой сервак.
Ты просто ниже погляди чего там скрипт-то делает. Сделан от был на мой взгляд кривовато и я просто делал типа так:
#Мой сервак dcname="ESERV"
#Файл (типа контрольный выстрел) LCKFile="/var/lock/smb_auth/$dcname.$SMBUSER.lck"
#Пробуем считать файл с именем и паролем /usr/bin/smbclient "//$dcname/NETLOGON" $SMBPASS -U $SMBUSER -c "get proxyauth $LCKFile" -E
#Проверяем, а файл списался? if [ -f $LCKFile ]; then rm $LCKFile exit 0 fi
#Ну если не списался или еще какая фигня - все в сад
exit 1 |
|
Вернуться к началу |
|
|
|