URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID12
Нить номер: 4085
[ Назад ]

Исходное сообщение
"ldap + squid + группы"

Отправлено testlogin3 , 21-Май-06 15:56 
допустим есть сквид, лдав, в лдапе база следуйшего строения
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 то считал его пользователм данной группы

Содержание

Сообщения в этом обсуждении
"ldap + squid + группы"
Отправлено Nichls , 21-Май-06 20:13 
>допустим есть сквид, лдав, в лдапе база следуйшего строения
>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
Может пригодится.


"ldap + squid + группы"
Отправлено testlogin3 , 21-Май-06 21:40 
а у меня тожет вопрос, вот допустим
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 но я ленивый=)


"ldap + squid + группы"
Отправлено Nichls , 22-Май-06 16:32 
>а у меня тожет вопрос, вот допустим
>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
Без обид. Строй пожалуйста грамотно предложения. Очень тяжело читать.


"ldap + squid + группы"
Отправлено testlogin3 , 22-Май-06 21:42 
разобрался со всем этим. сквид отправляет в 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 записываю в строчку в которой описаны названия групп.
сейчас встал вопрос о поиске либо написании веб интерфейса для работы "всем этим" (добовление удалени модификация записей об акаунтах для сквида самбы, возмжно пама), мб кто поделится своими на работками?

ЗЫ:так устраивает?) просто когда быстро пишу опечаток много...


"ldap + squid + группы"
Отправлено Nichls , 01-Июн-06 12:39 
>разобрался со всем этим. сквид отправляет в 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.