Olá Amigo, tenho uma solução implementada desta forma... a única diferença é que no squid.conf a linha está assim...
external_acl_type NT_global_group children=10 %LOGIN /usr/lib/squid/wbinfo_group.pl sem o -d aqui funciona normalmente. Eu também instalei o squid via apt-get... Quando implementei segui este tutorial. e funcionou. http://www.vivaolinux.com.br/artigo/Squid-Plus-com-AD-redirector-controle-de-banda-e-relatorios/ Só pra confirmar, cole aqui o conteúdo do wbinfo_group.pl, pois a algum tempo quando eu tentei pela primeira vez realizar essa config. o conteúdo deste arquivo estava errado, e eu precisei alterar na mão... e realmente ele não pegava os grupos... pode ser isso... Segue em anexo o conteúdo do meu wbinfo_group.pl Qualquer dúvida é só gritar. Abraços 2009/5/8 Rafael Bedendo <[email protected]> > > > Thiago com o winbindd_privileged, tudo tranquilo, visto que o comando > wbinfo -g retorna todos os grupos ok. > > Sobre a resposta do Zeca, não tentei utilizando squid_ldap_aut pelo visto > é com o squid3, funciona bem para você? Quantos usuários você tem? Qual > Distro? > > Obrigado pelas respostas, > > Rafael Bedendo > > > Bijani, Thiago escreveu: > > Caros, > > Tenho um Squid + Kerberos+Smaba+Winbind rodando num Debian 5, e AD2003, > sem problemas. > Tive dificuldades também, problemas na autenticação de usuários.. > (problemas com o /var/run/samba/winbindd_privileged, visto no log do > samba/winbind) > > O seu problema é esse? > > * Estou c/ pressa, meu horario já deu, rss a noite eu vejo os feedbacks. > > Abraços, > > Thiago Bijani > linkedin.com/in/thiago > > > 2009/5/8 Dielly Rodrigues <[email protected]> > >> >> >> Srs >> >> quem Ajudar o Rafael estara me ajudando tambem... >> >> >> >> >> 2009/5/8 Rafael Bedendo <[email protected]> >> >>> >>> >>> Boa tarde amigos de lista, estou integrando meu squid com AD >>> (autenticação já está ok), porém estou tendo problemas com a obtenção dos >>> dados referente aos grupos nos AD. >>> >>> Executando o comando wbinfo -g retorna todos os grupos, como devem ser, >>> porém, ao utilizar a regra abaixo junto com uma restrição ou liberação para >>> determinado grupo, não funciona. >>> >>> external_acl_type NT_global_group children=5 %LOGIN >>> /usr/lib/squid/wbinfo_group.pl -d >>> >>> Rodando squid - v retorna >>> >>> Squid Cache: Version 2.7.STABLE3 >>> configure options: '--prefix=/usr' '--exec_prefix=/usr' >>> '--bindir=/usr/sbin' '--sbindir=/usr/sbin' '--libexecdir=/usr/lib/squid' >>> '--sysconfdir=/etc/squid' '--localstatedir=/var/spool/squid' >>> '--datadir=/usr/share/squid' '--enable-async-io' '--with-pthreads' >>> '--enable-storeio=ufs,aufs,coss,diskd,null' '--enable-linux-netfilter' >>> '--enable-arp-acl' '--enable-epoll' '--enable-removal-policies=lru,heap' >>> '--enable-snmp' '--enable-delay-pools' '--enable-htcp' >>> '--enable-cache-digests' '--enable-underscores' '--enable-referer-log' >>> '--enable-useragent-log' '--enable-auth=basic,digest,ntlm,negotiate' >>> '--enable-negotiate-auth-helpers=squid_kerb_auth' '--enable-carp' >>> '--enable-follow-x-forwarded-for' '--with-large-files' '--with-maxfd=65536' >>> 'i386-debian-linux' 'build_alias=i386-debian-linux' >>> 'host_alias=i386-debian-linux' 'target_alias=i386-debian-linux' >>> 'CFLAGS=-Wall -g -O2' 'LDFLAGS=' 'CPPFLAGS=' >>> >>> >>> Depois de muitas consultas ao pai dos burros ( google ), percebi que em >>> praticamente todos os tutos são compilados a versão 2.5 com uma parâmetro >>> *enable-external-acl-helpers="winbind_group,wbinfo_group"*, e o mesmo >>> não consta na minha instalação. Como eu estou utilizando Debian 5 e instalei >>> meu squid através de um simples apt-get install squid, gostaria de saber se >>> alguém tem alguma alternativa a não ser a compilação do squid, quem sabe até >>> umas dicas para recompilar através dos próprios fontes disponíveis no >>> Debian. >>> >>> Eu até recompilei utilizando os parâmetros retornados pelo squid -v >>> acrecidos do enable-external-acl-helpers="winbind_group,wbinfo_group, >>> através dos comandos abaixo: >>> >>> ./configure --enable-default-err-language=Portuguese >>> --enable-external-acl-helpers="wbinfo_group" --prefix=/usr >>> --exec_prefix=/usr --bindir=/usr/sbin --sbindir=/usr/sbin >>> --libexecdir=/usr/lib/squid --sysconfdir=/etc/squid >>> --localstatedir=/var/spool/squid --datadir=/usr/share/squid >>> --enable-async-io --with-pthreads --enable-storeio=ufs,aufs,coss,diskd,null >>> --enable-linux-netfilter --enable-arp-acl --enable-epoll >>> --enable-removal-policies=lru,heap --enable-snmp --enable-delay-pools >>> --enable-htcp --enable-cache-digests --enable-referer-log >>> --enable-useragent-log --enable-auth=basic,digest,ntlm,negotiate >>> --enable-carp --enable-follow-x-forwarded-for --with-large-files >>> --with-maxfd=65536 >>> >>> Logo após rodei >>> >>> make >>> >>> make install >>> >>> Assim eu teria o binário atualizado com o que eu precisava, mantendo a >>> localização dos demais arquivos de configuração e aplicativos auxiliares, >>> porém, ao executar squid & ou até mesmo /etc/init.d/squid start o usuário >>> passa a não ser mais proxy e sim nobody e grupo nogroup e consequentemente >>> eu teria que auterar as permissões em todos os arquivos utilizados. Ex: >>> /etc/squid/* /var/log/squid/* além dos demais ... E eu não gostaria de fazer >>> isso para, manter o servidor o mais padronizado possível, para facilitar >>> eventuais manutenções futuras. >>> >>> Sendo assim recorro a vocês, para clarear as idéias. >>> >>> Uma outra coisa que eu ainda não testei foi o squid3, queria também saber >>> como tem se comportado e se esse suporte que eu necessito está ativado por >>> padrão no Debian. >>> >>> Abraços e desculpem o tamanho do texto. >>> >>> Rafael Bedendo >>> >>> >> > > >
#!/usr/bin/perl -w # # external_acl helper to Squid to verify NT Domain group # membership using wbinfo # # This program is put in the public domain by Jerry Murdock # <[email protected]>. It is distributed in the hope that it will # be useful, but WITHOUT ANY WARRANTY; without even the implied warranty # of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # # Author: # Jerry Murdock <[email protected]> # # Version history: # 2005-12-26 Guido Serassio <[email protected]> # Add '-d' command line debugging option # # 2005-12-24 Guido Serassio <[email protected]> # Fix for wbinfo from Samba 3.0.21 # # 2004-08-15 Henrik Nordstrom <[email protected]> # Helper protocol changed to URL escaped in Squid-3.0 # # 2005-06-28 Arno Streuli <[email protected]> # Add multi group check # # 2002-07-05 Jerry Murdock <[email protected]> # Initial release # # Globals # use vars qw/ %opt /; # Disable output buffering $|=1; sub debug { print STDERR "@_\n" if $opt{d}; } # # Check if a user belongs to a group # sub check { local($user, $group) = @_; $groupSID = `wbinfo -n "$group" | cut -d" " -f1`; chop $groupSID; $groupGID = `wbinfo -Y "$groupSID"`; chop $groupGID; &debug( "User: -$user-\nGroup: -$group-\nSID: -$groupSID-\nGID: -$groupGID-"); return 'OK' if(`wbinfo -r \Q$user\E` =~ /^$groupGID$/m); return 'ERR'; } # # Command line options processing # sub init() { use Getopt::Std; my $opt_string = 'hd'; getopts( "$opt_string", \%opt ) or usage(); usage() if $opt{h}; } # # Message about this program and how to use it # sub usage() { print "Usage: wbinfo_group.pl -dh\n"; print "\t-d enable debugging\n"; print "\t-h print the help\n"; exit; } init(); print STDERR "Debugging mode ON.\n" if $opt{d}; # # Main loop # while (<STDIN>) { chop; &debug ("Got $_ from squid"); ($user, @groups) = split(/\s+/); $user =~ s/%([0-9a-fA-F][0-9a-fA-F])/pack("c",hex($1))/eg; # test for each group squid send in it's request foreach $group (@groups) { $group =~ s/%([0-9a-fA-F][0-9a-fA-F])/pack("c",hex($1))/eg; $ans = &check($user, $group); last if $ans eq "OK"; } &debug ("Sending $ans to squid"); print "$ans\n"; }
