1. был по мотивам скриптового (.ahk) SquidTrust был написан не-VCL SquidTrust.exe {многопоточный TCP клиент-сервер на асинхронных сокетах, чистый win32 API } виснет на 0.0.0.0:3333 (TCP)
если телнетом ввести 3 отдает имя вендовой машины
если 2 отдает windows user
если 1 то fdn {чуть поксоренный чтоб открытым текстом не летало}
как обычно висит в трее. примерно соответствует clntrust.exe по интерфейсу. к нему в пару есть DwSquidTrust.exe (выгружалка)
на сервере SquidTrust.pl
висит демоном (запускается нужное число потоков самим SQUID) по вводу IP в STDIN делает запрос на IP:3333 и получает fdn, далее делает запрос в ldap и проверяет принадлежность к группе если членство есть то в STDOUT выдает OK если нет то ERR
в теле скрипта (squidtrust.pl) прописаны параметры:
my @LDAPServerAddress = [ 'server.domain.name', 'server.ip.address' ];
my $binddn='cn=proxy-user, o=context';
my $bindpw='proxy-password';
my $edirgroup='cn=INTERNET_USERS,o=context';
делал принудительно с неанонимным биндом (перловый скрипт допиливается на раз, добавляем параметр для анономного бинда и правим в районе
- Код: Выделить всё
my $mesg = $ldap->bind( $binddn, password=> $bindpw );
), звиняйте. думаю что можно задавать имя группы с коммандной строки при этом прописывать несколько ACL в конфиге сквида.
ну и в конфиге сквида классически
- Код: Выделить всё
external_acl_type IPUser ttl=60 children=10 %SRC /usr/local/squid/SquidTrust.pl
acl AuthNDS external IPUser
http_access allow AuthNDS
соответственно если задавать имя группы с комм строки то можно проверять принадлежность к неск группам. ttl настраивается по вкусу.
собственно squidtrust использует уже с осени (или с лета запамятовал уже)
Михаил Пилютик - я кое что правил по результатам его замечаний (типа чтоб работало кузяво на win98 и там еще глючок был).
Жаль что нельзя прикрепить файл к письму.
Может можно залить тут (2 шт .exe и .pl) на novell.org.ru в файлы ?В общем отличия от родного SquidTrust :
1. легкий squidtrust.exe (<40K) . получает fdn а не имя без контекста через Novell API. в самом SquidTrust.exe опции выгрузки нет - сделан DwSquidTrust.exe
2. squidtrust.pl работает с fdn, проверяя group membership. fdn не летает в явном виде хотя это так, мертвому припарки но лучше так чем никак . в SquidTrust добавлено немного проверок чтоб он не падал при получении в stdin не валидного IP адреса итд.
Пилить дальше не стал. Если хватит Сквида и просто принадлежности к группе eDir то этого хватит.