+ Responder ao Tópico



  1. #1

    Padrão Squid com Mysql preciso controlar acessos por grupos

    Boa tarde Pessoal,
    Estou querendo gerenciar meus usuários do squid no mysql e criar 4 grupos Administrativo, convidado, Diretoria, estagiario, e ai em cima dos grupos ele determinar o que cada um acessa na internet, alguem ja fez isto? poderiam me auxiliar?

  2. #2

    Padrão Re: Squid com Mysql preciso controlar acessos por grupos

    Um caminho ai seria esse via linha de comando
    Re: [squid-br] ACL's numa base MySQL

  3. #3

    Padrão Re: Squid com Mysql preciso controlar acessos por grupos

    Só uma pergunta, porque squid com mysql?
    Você pode configurar squid com acessos por grupo´, usando proprias feramentas disponiveis no squid!
    Eu acho mais simples!

  4. #4

    Padrão Re: Squid com Mysql preciso controlar acessos por grupos

    Acho q vc está querendo controlar o squid através de uma pagina na web. É isso?
    Vc vai ter q ter instalado e já configurado o Apache, Mysql, Php.

    no mysql vc cria uma base de dados com as informações necessárias:
    no minimo IP e MAC, GRUPO mas vc pode colocar os campos CODIGO,DATA,NOME,IP,MAC,GRUPO, etc...

    Depois em html vc cria uma pagina com os campos da tabela e chama um php, mas ou menos assim:

    <?
    if($_POST){

    $grupo = $_POST['EdtGrupo'];
    $ip = $_POST['EdtIP'];
    $mac = $_POST['EdtMAC'];


    $link = mysqli_connect("localhost", "root", "senha") or die ("Não foi possível conectar1");
    mysqli_select_db($link,"basededados") or die("Não foi possível selecionar o banco de dados");
    $consulta = "INSERT INTO tabela(grupo,ip,mac) VALUES('$grupo','$ip','$mac');";

    if(mysqli_query($link,$consulta)){echo "<script type='text/javascript'> alert('Dados cadastrado com sucesso!'); </script>";}
    else {echo "<script type='text/javascript'> alert('Erro na tabela ao cadastrar!'); </script>";}


    $selOrkut = "SELECT * FROM tabela where grupo = '1' ";
    if ($selOrkut != "") {
    $QueryOrkut = mysqli_query($link, $selOrkut) or die (mysql_error($link));
    $ClOrkut = fopen("/usr/local/squid/restricoes/CLNTSMSNORKUT","w");
    while ($rowOrk = mysqli_fetch_array($QueryOrkut)) {
    $cod = $rowOrk['mac']." # ".$rowOrk['ip'];
    $TodosOrk = $cod."\n";
    fwrite($ClOrkut,$TodosOrk);}
    fclose($ClOrkut);}

    $selDia = "SELECT * FROM tabela where grupo = '2' ";
    if ($selDia != "") {
    $QueryDia = mysqli_query($link, $selDia) or die (mysql_error($link));
    $CliDia = fopen("/usr/local/squid/restricoes/clidia","w");
    while ($rowDia = mysqli_fetch_array($QueryDia)) {
    $codDia = $rowDia['mac']." # ".$rowDia['ip'];
    $TodosDia = $codDia."\n";
    fwrite($CliDia,$TodosDia);}
    fclose($CliDia);}

    $selNoite = "SELECT * FROM tabela where grupo = '3' ";
    if ($selNoite != "") {
    $QueryNoite = mysqli_query($link, $selNoite) or die (mysql_error($link));
    $CliNoite = fopen("/usr/local/squid/restricoes/clinoite","w");
    while ($rowNoite = mysqli_fetch_array($QueryNoite)) {
    $codNoite = $rowNoite['mac']." # ".$rowNoite['ip'];
    $TodosNoite = $codNoite."\n";
    fwrite($CliNoite,$TodosNoite);}
    fclose($CliNoite);}

    }

    ?>


    Eu coloquei três restrições:
    1 - MSNORKUT, são gravados os MAC's com "#" e o ip na frente em um arquivo "/usr/local/squid/restricoes/CLNTSMSNORKUT"
    2 - CLIDIA, aqui ficarão os ips que terão acesso durante o dia
    3 - CLINOITE, aqui ficarão os ips que terão acesso durante a noite

    agora vc cria as acl no squid

    acl USUMSNORKUT arp "/usr/local/squid/restricoes/CLNTSMSNORKUT"
    acl MSNORKUT urlpath_regex -i "/usr/local/squid/restricoes/sitesprabloquear"
    http_access deny MSNORKUT USUMSNORKUT

    acl USUNOITE arp "/usr/local/squid/retricoes/clinoite"
    acl USU_NOITE time MTWHF 06:00-18:00
    http_access deny USUNOITE USU_NOITE

    Mais ou menos assim!
    Última edição por danillorc; 11-05-2011 às 10:39.

  5. #5

    Padrão Re: Squid com Mysql preciso controlar acessos por grupos

    oi desculpe a demora para responder olha só eu criei uma base no mysql chamada data e lá criei user, password, status, grupo.

    Eu adiciono usuarios normalmente no squid e consigo gerenciar isto via php ficou show, agora o que eu preciso é que ele pegue uma lista de sites que coloquei como acesso_leberado e faça a seguinte comparação

    se o user + group = diretoria entre na base msyql sites_liberados e veja se o site consta na lista.

    Basicamente é isto