Script para adicionar e remover usuários no IMSPECTOR

Publicado por evandro matos couto (última atualização em 14/09/2011)

[ Hits: 5.573 ]

Homepage: tutoriaisgnulinux.com

Download imspector.pl




Pessoal,

Este script foi feito para que utiliza o Imspector como proxy de MSN.
Sua função é principal é adicionar e remover usuários na lista de acl.

Para que esse script funcione, será preciso alterar algumas configurações dentro do arquivo /etc/sudoers.

Mão na massa então!

1 – abra o arquivo /etc/sudoers e adicione a seguinte linha abaixo:

# vim /etc/sudoers
apache ALL=NOPASSWD: /usr/bin/killall, /usr/sbin/imspector

2 – No diretório /var/www/cgi-bin/ crie o diretório firewall e adicione o script abaixo:

# vim imspector.pl

  



Esconder código-fonte

#!/usr/bin/perl 

use Shell;
use CGI qw /:standard/;
use CGI::Carp qw (fatalsToBrowser);


# FUNÇÃO PARA CONSULTAR O MSN
sub consulta_msn {
   my @msn = ();
   open(MSN, "< /usr/etc/imspector/acl.txt");
   while(<MSN>) {
      if($_ =~ /^allow all (.*)\@(.*)/)
      {
      push(@msn, $1 . "@" . $2);
      }

      }
   close(MSN);
   return @msn;
}

# UTILIZANDO A SUB "FUNÇÃO"
@msn = &consulta_msn();

# CADASTRANDO OS NOVOS MSN
if (CGI::param("bt_msnaccept"))
{
   $add_msn = CGI::param("txt_msn");
   push @msn, $add_msn;
   %msn = map { $_ => 1 } @msn;
 
   open(MSN, "+>:encoding(UTF-8)", "/usr/etc/imspector/acl.txt");
   foreach (keys %msn){
   print MSN "allow all " . $_ . "\n";
   }
   print MSN "\n";
   print MSN "deny all\n";
   close(MSN);
   `sudo /usr/bin/killall  /usr/sbin/imspector`;
        `sudo /usr/sbin/imspector`;

   
   print "Status:301\n";
        print "Location:/cgi-bin/firewall/imspector.pl\n\n";
        exit;
}

# REMOVENDO OS USUARIOS DO ARQUIVO /usr/etc/imspector/acl.txt
if(CGI::param("bt_msndrop"))
{
        $rem_msn = CGI::param("sel_msn");
                for ( $i = 0 ; $i <= $#msn; $i++ ) {
                        if ( @msn[$i] =~ /$rem_msn/ )
                                {
                                        delete @msn[$i];
                                        next;
                                }
                }
          %msn = map { $_ => 1 } @msn;
          open(MSN, "+> /usr/etc/imspector/acl.txt");
          foreach (keys %msn){
          print MSN "allow all " . $_ . "\n" if($_ ne '');
          }
          print MSN "\n";
          print MSN "deny all\n";
          close(MSN);
   `sudo /usr/bin/killall  /usr/sbin/imspector`;
   `sudo /usr/sbin/imspector`;

   print "Status:301\n";
          print "Location:/cgi-bin/firewall/imspector.pl\n\n";
          exit;
}

# TRATAMENTO PARA TELA
foreach (sort @msn){
        $msn .= "<option> $_</option>";
        }


print "Content-type: text/html\n\n";
# HTML
print qq~
<html>
<head>
   <title></title>
</head>
<body>
<center><h4> IMSPECTOR PROXY DE MSN<br></H4></center>
<br><br>
   <form METHOD="POST">
      <center>

         <table>
            
      
            <tr>

               <td style="text-align: left; background-color: black; width:350px; height: 15px">
                  <input type="text" name="txt_msn" size="35" style="width:100%">
               </td>
               <td>
                  <input name="bt_msnaccept" type="submit" value="ACCEPT">
               </td>
               
            </tr>
      
         
            <tr>
               <td style="background-color: black;">
                  <select name="sel_msn" style="width:100%" size="15">$msn</select>
               </td>
               <td valign="top">
                  <input name="bt_msndrop" type="submit" value="DROP">
               </td>
            </tr>
            
         </table>
      </center>
   </form>
</body>
</html>
~;

Scripts recomendados

Shadow Post It

Conversão de textos UTF-8 para ISO8859-1

move.pl

Alterar senha no shadow

Compilar e mover


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts