<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Раздел полезных советов: Авторизация в squid по группам AD</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/18488.html</link>
    <description>Возникла необходимость разделять доступ пользователей сквид по группам AD. &lt;br&gt;Утилита wbinfo_group.pl, идущая со сквидом при большом числе запросов валила сквид &lt;br&gt;и были проблемы с кешированием данных. Возникла идея написать скрипт, &lt;br&gt;который через rpc запрос забирал членов необходимых доменных групп и скидывал их в текстовые файлы &lt;br&gt;на сервере, одновременно определяя изменения в них и при необходимости перегружая squid.&lt;br&gt;&lt;br&gt;#!/usr/bin/perl -w&lt;br&gt;&lt;br&gt;use Text::Diff;&lt;br&gt;&lt;br&gt;$login=&quot;testlogin&quot;;&lt;br&gt;$password=&quot;secret_password&quot;;&lt;br&gt;$domain=&quot;MYDOMAIN&quot;;&lt;br&gt;$dc=&quot;dc.domain.ru&quot;;&lt;br&gt;$path=&quot;/usr/local/etc/squid/acl&quot;;&lt;br&gt;$reload_squid_cmd=&quot;/usr/local/sbin/squid -k reconfigure&quot;;&lt;br&gt;&#064;ADgroups = (&quot;inet_users&quot;,&quot;inet_vip&quot;,&quot;inet_sluz&quot;,&quot;inet_block&quot;);&lt;br&gt;&lt;br&gt;foreach $group (&#064;ADgroups)&lt;br&gt;    &#123;&lt;br&gt;    &#064;group_check= sort &#096;/usr/local/bin/net rpc group MEMBERS $group -U $login&#037;$password -S $dc&#096;;&lt;br&gt;    &#064;group_check = grep &#123;/^$domain&#092;&#092;/&#125; &#064;group_check;&lt;br&gt;    $col=&#064;group_check;   &lt;br&gt;    my $diff = diff &#092;&#064;group_check,  &quot;$path/$group.acl&quot;;&lt;br&gt;        if ($diff and $col) &#123;&lt;br&gt;            open (GROUPFI</description>

<item>
    <title>Авторизация в squid по группам AD (vvlad)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/18488.html#3</link>
    <pubDate>Mon, 02 Nov 2009 16:55:56 GMT</pubDate>
    <description>Первый скрипт не учитывает вариант с пустой группой...&lt;br&gt;</description>
</item>

<item>
    <title>Авторизация в squid по группам AD (quadrik)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/18488.html#2</link>
    <pubDate>Fri, 01 Dec 2006 12:44:35 GMT</pubDate>
    <description>у меня в сети второй скрипт заставить работать так и не смог.&lt;br&gt;Я не силен в перое, но тем не менее, переделал ваш первый скрипт и сделал нечто среднее между первыйм и вторым =) вот что у меня получилось:&lt;br&gt;#!/usr/bin/perl -w&lt;br&gt;&lt;br&gt;use Text::Diff;&lt;br&gt;&lt;br&gt;# логин для общения с контроллером домена у всех одинаков&lt;br&gt;$login=&quot;null&quot;;&lt;br&gt;$password=&quot;c00l_password&quot;;&lt;br&gt;&lt;br&gt;# главный домен&lt;br&gt;$domain0=&quot;DOMAIN&quot;;&lt;br&gt;$dc0=&quot;192.168.200.3&quot;;&lt;br&gt;# дочерний домен&lt;br&gt;$domain4=&quot;OF4&quot;;&lt;br&gt;$dc4=&quot;192.168.200.204&quot;;&lt;br&gt;# тут параметры для других дочерних доменов&lt;br&gt;# .....&lt;br&gt;$path=&quot;/etc/squid/acl&quot;;&lt;br&gt;$reload_squid_cmd=&quot;/etc/init.d/squid reload&quot;;&lt;br&gt;$InetGroup=&quot;inet-full_access&quot;;&lt;br&gt;&lt;br&gt;$i=0;&lt;br&gt;&lt;br&gt;# 0-е отделение&lt;br&gt;# Нужно убрать префикс &quot;DOMAIN&#092;&quot; впереди т.к. клиенты головного его не используют&lt;br&gt;&#064;group_check= sort &#096;/usr/bin/net rpc group MEMBERS $InetGroup -U $login&#037;$password -S $dc0&#096;;&lt;br&gt;&#064;group_check = grep &#123;/^$domain0&#092;&#092;/&#125; &#064;group_check;&lt;br&gt;foreach $gc (&#064;group_check)&lt;br&gt;&#123;&lt;br&gt;    $gc =~ s/DOMAIN&#092;&#092;//;&lt;br&gt;        $new_group_check&#091;$i&#093; = $gc;&lt;br&gt;#print &quot;$new_group_check&#091;$i&#093;&quot;;&lt;br&gt;#print &quot;  - </description>
</item>

</channel>
</rss>
