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?
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
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!
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!
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