Bom dia senhores da lista, Gostaria de pedir uma ajuda a todos, pois eu estou implementando um novo proxy usando wbinfo_group.pl, para criar as acls pelos grupos do AD windows, só que quando uso um grupo que contem ponto exemplo = teste.teste, o mesmo não é processado pelo wbinfo_group.pl. Se o grupo contiver - teste-teste ou apenas teste, tudo funciona normalmente.
Alguem já passou por esta problema? Grato a todos. Server = Centos 5.3; Squid Cache: Version 2.6.STABLE21; Windows 2003 Server R2; Samba = samba-3.0.33-3.7.el5 segue abaixo o wbinfo_group.pl que estou usando. ##################################################################### #!/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"; } #####################################################################
