RE: aurtorizace uživatele ve squidu - nefunkčnost v IE 7
IPetr
ipetr na email.cz
Čtvrtek Listopad 1 08:51:34 CET 2007
Opravdu nikdo neporadi? :-(
>
>
> Autorizace na přihlášeného uživatele mi nevyhovuje, na těch
> PC na kterých se tato autorizace používá pracuje skoro 60-sat
> uživatelů, kteří se různě střídají. Proto ta autorizace až
> při přístupu na www mimo intranet. Stačí se přihlásit pouze
> jednou, a do doby než uživatel zavře všechna okna brouseru se
> spojení drží. Jak jsem psal, na všech brouserech krom IE7 mi
> to funguje.
>
>
> Používám ve squidu tuto část auth_param
>
> V této konfiguraci
> auth_param basic children 5
> auth_param basic realm Squid proxy-caching. Zadejte
> uzivatelske jmeno a heslo auth_param basic credentialsttl 2
> hours auth_param basic casesensitive off auth_param basic
> program /usr/sbin/ncsa_auth /etc/squid/squid.passwd
> auth_param digest program /usr/sbin/ncsa_auth /etc/squid/squid.passwd
>
>
> IPetr
>
>
>
> >
> > > Používám squid autorizaci uživatele pro přístup na net. V
> > ...
> > O jakou autorizaci (nebo spis autentikaci) se jedna ? Je to
> ntlm_auth
> > ?
> > S tim bohuzel neporadim, mam ale jiny tip - vykaslat se na
> autentikaci
> > proverovanim jmeno/heslo a pouzit pouze informaci o prave
> prihlasenem
> > uzivateli Windouz, podobne jako muse byt pouzita sluzba ident na
> > jinych operacnich systemech.
> > K tomu jsem pouzil dotaz na jmena registrovana na jeho Wind.
> > stanici. Pokud tam totiz bezi sluzba Messenger (v XP cesky Kuryrni
> > sluzba), pripadne to jsou jeste Win9x, vraci stanice mezi
> jmeny take
> > username<03>. Napsal jsem si jednoduchy Perl skriptik, ktery se pak
> > vola ze Squidu jako external_acl_type.
> > Tady je:
> >
> > ====
> > #!/usr/bin/perl
> >
> > use Socket;
> > use IO::Handle;
> >
> > STDOUT->autoflush(1);
> > main:
> > while (<>) {
> > chomp;
> > $ip=$_;
> > $trnid=int(rand(65536));
> > $query=" CK".("A"x30)."\0";
> > $data=pack("nnnnnna34nn",$trnid,0,1,0,0,0,$query,0x21,1);
> > close(S);
> > socket(S, PF_INET, SOCK_DGRAM, getprotobyname("udp")) or die
> > "socket: $!";
> > $ipaddr=inet_aton($ip);
> > $portaddr=sockaddr_in(137,$ipaddr);
> > send(S,$data,0,$portaddr)==length($data) or die "send";
> > vec($mask,fileno(S),1)=1;
> > unless (select($mask,undef,undef,0.1)) {
> > print "ERR\n";
> > next;
> > }
> > $portaddr=recv(S,$buf,1500,0) or die "recv";
> >
> ($id,$flg,$q,$ans,$aut,$add,$datar,$type,$class,$ttl,$len,$n,$buf)=
> > unpack("nnnnnna34nnNnCa*",$buf);
> > @names=();
> > for ($i=0;$i<$n;$i++) {
> > ($name,$type,$flags,$buf)=unpack("a15Cna*",$buf);
> > next if ($flags&0x8000 or ($type!=0 and $type!=3));
> > $name=~s/ +$//;
> > $name=lc($name);
> > if ($type==3) {
> > push @names,$name;
> > } else {
> > $wkst=$name;
> > }
> > }
> > if ($#names<=1) {
> > while ($name=pop @names) {
> > next if ($name eq $wkst);
> > print "OK user=$name\n";
> > next main;
> > }
> > }
> > print "ERR\n";
> > }
> > ====
> >
> > Vracene jmeno uzivatele se pak da ve Squidu pouzit stejne
> jako jmeno
> > prihlaseneho uzivatele nebo jmeno ziskane pomoci sluzby ident (tcp
> > 113), kterou Win systemy nemaji.
> >
> > M. Vancl
>
Další informace o konferenci Linux