допустим есть сквид, лдав, в лдапе база следуйшего строения
testdomain
|
`--ou=users
в юзаерх есть в часности места для пароля, и строка gecos которую я планирую использовать для хранения информации о группе у пользователя.
пишу следуйшее в конфиг сквида
auth_param basic program /usr/lib/squid/ldap_auth -v 3 -b "ou=Users,dc=testdomain,dc=ru" -h 127.0.0.1
далее пишу
external_acl_type mygroup %LOGIN /usr/lib/squid/squid_ldap_group -v 3 -h 127.0.0.1 -b "ou=Users,dc=testdomain,dc=ru" -f "(&(uid=%s)(gecos=*mygroup*))"
и не че не работает.
поправте если не прав, сквид отдает информацию типа юзер группа к squid_ldap_group а тот в свою очаредь отвечает да или нет ?
а как сделать фильтрацию при данном запросе по какому либо элементу, ну вот допустим
dn: uid=test,ou=Users,dc=testdomain,dc=ru
uid: test
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: uidObject
gecos: тут_пишу_группы_в_строку
userPassword:: e0NSWVBUfUk0VVhONEJqbTRHLy4=
допустим как сделать чтобы squid_ldap_group проверял у целевого юзера поле gecos и есля там находил чегонить типа mygroup то считал его пользователм данной группы
>допустим есть сквид, лдав, в лдапе база следуйшего строения
>testdomain
>|
>`--ou=users
>в юзаерх есть в часности места для пароля, и строка gecos которую
>я планирую использовать для хранения информации о группе у пользователя.
>пишу следуйшее в конфиг сквида
>auth_param basic program /usr/lib/squid/ldap_auth -v 3 -b "ou=Users,dc=testdomain,dc=ru" -h 127.0.0.1
>далее пишу
>external_acl_type mygroup %LOGIN /usr/lib/squid/squid_ldap_group -v 3 -h 127.0.0.1 -b "ou=Users,dc=testdomain,dc=ru" -f "(&(uid=%s)(gecos=*mygroup*))"
>
>и не че не работает.
>поправте если не прав, сквид отдает информацию типа юзер группа к squid_ldap_group
>а тот в свою очаредь отвечает да или нет ?
>а как сделать фильтрацию при данном запросе по какому либо элементу, ну
>вот допустим
>dn: uid=test,ou=Users,dc=testdomain,dc=ru
>uid: test
>objectClass: account
>objectClass: posixAccount
>objectClass: top
>objectClass: uidObject
>gecos: тут_пишу_группы_в_строку
>userPassword:: e0NSWVBUfUk0VVhONEJqbTRHLy4=
>допустим как сделать чтобы squid_ldap_group проверял у целевого юзера поле gecos и
>есля там находил чегонить типа mygroup то считал его пользователм данной
>группыПривет. Встречный вопрос. У тебя домен на Unix-системе?
Решал в свое время задачу проверки сквидом наличия пользователя в определенной группе в домене. Но домен на Win2K. Могу только по этому вопросу рассказать. Касательно squid_ldap_group - не смог собрать squid с подобной опцией, посему не стал ее использовать, а проверял принадлежность к группе скриптом на perl.Как это делал опсал тут http://www.opennet.me/openforum/vsluhforumID12/3857.html
Может пригодится.
а у меня тожет вопрос, вот допустим
auth_param basic children 20
auth_param basic program /usr/local/samba/bin/ntlm_auth --helper-protocol=squid-2.5-basic
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hoursacl you_domain proxy_auth REQUIRED
запросили и пользовтаелй пароль, проверили его если все отлично то идем далее
external_acl_type InetGroup-proxy-08-20ww %LOGIN /usr/local/squid/libexec/wbinfo_group.pl
скормили логин пользователя скрипту /usr/local/squid/libexec/wbinfo_group.pl, так ? те можно допустим можно аторизацию производить с ипользованием записей ил лдап, а далее ипользовать скрипт каконить скрипт который бы проверял принадлежность данного пользователя к данной группе так? еше вопрос, каков формат строки отдаюшийся wbinfo_group.pl?(я понимаю что можно там сделать запись все что поступает в stdin но я ленивый=)
>а у меня тожет вопрос, вот допустим
>auth_param basic children 20
>auth_param basic program /usr/local/samba/bin/ntlm_auth --helper-protocol=squid-2.5-basic
>auth_param basic realm Squid proxy-caching web server
>auth_param basic credentialsttl 2 hours
>
>acl you_domain proxy_auth REQUIRED
>
>запросили и пользовтаелй пароль, проверили его если все отлично то идем далее
>
>
>external_acl_type InetGroup-proxy-08-20ww %LOGIN /usr/local/squid/libexec/wbinfo_group.pl
>
>скормили логин пользователя скрипту /usr/local/squid/libexec/wbinfo_group.pl, так ? те можно допустим можно аторизацию
>производить с ипользованием записей ил лдап, а далее ипользовать скрипт каконить
>скрипт который бы проверял принадлежность данного пользователя к данной группе так?
>еше вопрос, каков формат строки отдаюшийся wbinfo_group.pl?(я понимаю что можно там
>сделать запись все что поступает в stdin но я ленивый=)Привет.
Первое.
Внимательно изучи этот кусок кода:
#
# Check if a user belongs to a group
#
sub check {
local($user, $group) = @_;
$groupSID = `/usr/local/samba/bin/wbinfo -n "$group"`;
# chop $groupSID;
# because wbinfo -n also returns the group number
$groupSID = substr($groupSID,0,index($groupSID," ",0));
$groupGID = `/usr/local/samba/bin/wbinfo -Y "$groupSID"`;
chop $groupGID;
# &debug( "User: -$user-\nGroup: -$group-\nSID: -$groupSID-\nGID: -$groupGID-");
return 'OK' if(`/usr/local/samba/bin/wbinfo -r \Q$user\E` =~ /^$groupGID$/m);
return 'ERR';
}Здесь все расписано.
И второе.
external_acl_type InetGroup-proxy-08-20ww %LOGIN /usr/local/squid/libexec/wbinfo_group.plНасчет формата строки - кури доку по squid.
Я воспринял это как должное.PS
Почитай тут:
http://kb.papercutsoftware.com/Main/ConfiguringSquidProxyToA...
тут
http://www.die.net/doc/linux/man/man8/squid_ldap_group.8.html
и тут
http://www.merlinobbs.net/Squid-Book/HTML/sec-external-acl.html
или тут :-)
http://www.google.ru/search?hl=ru&q=squid_ldap_group++extern...PPS
Без обид. Строй пожалуйста грамотно предложения. Очень тяжело читать.
разобрался со всем этим. сквид отправляет в STDIN программы wbinfo_group.pl и ему подобным строку "пользователь пароль" получает ответ OK или ERR, у меня разбивка по группам сделана так:
external_acl_type groups %LOGIN /usr/lib/squid/squid_ldap_group -P -v 3 -b "ou=Users,dc=testdomain,dc=ru" -f "(&(uid=%v)(gecos=*%a*))"
в поле gecos записываю в строчку в которой описаны названия групп.
сейчас встал вопрос о поиске либо написании веб интерфейса для работы "всем этим" (добовление удалени модификация записей об акаунтах для сквида самбы, возмжно пама), мб кто поделится своими на работками?ЗЫ:так устраивает?) просто когда быстро пишу опечаток много...
>разобрался со всем этим. сквид отправляет в STDIN программы wbinfo_group.pl и ему
>подобным строку "пользователь пароль" получает ответ OK или ERR, у меня
>разбивка по группам сделана так:
>external_acl_type groups %LOGIN /usr/lib/squid/squid_ldap_group -P -v 3 -b "ou=Users,dc=testdomain,dc=ru" -f "(&(uid=%v)(gecos=*%a*))"
>в поле gecos записываю в строчку в которой описаны названия групп.
>сейчас встал вопрос о поиске либо написании веб интерфейса для работы "всем
>этим" (добовление удалени модификация записей об акаунтах для сквида самбы, возмжно
>пама), мб кто поделится своими на работками?
>
>ЗЫ:так устраивает?) просто когда быстро пишу опечаток много...
Посмотри на этот проект http://sams.irc.perm.ru/
Может тебе подойдет.
Есть еще софт для работы с LDAP. Посмотри здесь в разделе программы.PS ИМХО. Скорей всего у тебя клиенты под WinXP живут, посему лучше иметь домем на Win2K.