Script para adicionar e remover usuários no IMSPECTOR
Publicado por evandro matos couto (última atualização em 14/09/2011)
[ Hits: 5.579 ]
Homepage: tutoriaisgnulinux.com
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
#!/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> ~;
Contagem de linhas em Perl (= wc -l)
script para localizar conteudo de arquivo
Conversão de textos UTF-8 para ISO8859-1
Processa todos os SlackBuild's
Nenhum comentário foi encontrado.
Agora temos uma assistente virtual no fórum!!! (247)
Manutenção de sistemas Linux Debian e derivados com apt-get, apt, aptitude e dpkg
Melhorando o tempo de boot do Fedora e outras distribuições
Como instalar as extensões Dash To Dock e Hide Top Bar no Gnome 45/46
Como Atualizar Fedora 39 para 40
Instalar Google Chrome no Debian e derivados
Consertando o erro do Sushi e Wayland no Opensuse Leap 15
Instalar a última versão do PostgreSQL no Lunix mantendo atualizado
Flathub na sua distribuição Linux e comandos básicos de gerenciamento
Agora temos uma assistente virtual no fórum!!! (247)
iso de sistema 32 bit em atividade (12)
Como adicionar módulo de saúde da bateria dos notebooks Acer ao kernel... (27)