Imspector - Manipular ACLS facilmente
Publicado por gelber de arruda junior 17/05/2009
[ Hits: 8.742 ]
Homepage: http://gelberarrudajr.blogspot.com
Esse script ajuda o administrador a controlar o msn em sua rede facilmente sem precisar ficar editando os arquivos de configuração.
O script gera o arquivo padrão de acls do IMSPECTOR a partir do dialog. Mais detalhes sobre sua utilização em http://gelberarrudajr.blogspot.com/2009/05/neste-artigo-nos-vamos-aprender.html.
Bom proveito!!!
#!/bin/bash # Autor: Gelber de Arruda Junior juniorwinfor@yahoo.com.br # Data: 15/05/2009 # Função do Script: Manipular Live IDS facilmente para acl's do imspector 0.8 # # http://gelberarrudajr.blogspot.com/2009/05/neste-artigo-nos-vamos-aprender.html # # ATENÇÃO: instalar o dialog e psmisc( apt-get install dialog psmisc) # # Este programa é um software livre que pode ser copiado e distribuído # nos termos da Licença Pública Geral GNU (GNU General Public License - # GPL) versão 2 da licença ou, a seu critério, qualquer versão posterior. # Este programa foi criado na expectativa de ser útil, porém NÃO POSSUI # NENHUMA GARANTIA, EXPRESSA, IMPLÍCITA OU DE ATENDIMENTO A ALGUMA # DETERMINADA FINALIDADE. TMPFILE1=/tmp/tmpf1 TMPFILE4=/tmp/tmpf4 lvd=/usr/etc/imspector/liveids lvdex=/usr/etc/imspector/liveidsex acls=/usr/etc/imspector/acl.txt Msnmenu() { while : ; do resposta= resposta=$( dialog --stdout \ --title 'Administração Messenger' \ --ok-label 'OK' \ --cancel-label 'Voltar' \ --menu 'Opções:' 0 0 0 1 'Contatos Internos' 2 'Definir Categoria' 3 'Contatos Externos' \ 4 'Aplicar Mudanças' ) [ $? -ne 0 ] && break case "$resposta" in 1) lista="$lvd" titulo=Lista_de_Contatos_Internos Manipliveids ;; 2) Defcateg ;; 3) lista="$lvdex" titulo=Lista_de_Contatos_Externos Manipliveids ;; 4) Criaacltxt killall imspector imspector & ;; 0) break ;; esac done } Manipliveids() { [ -s "$lista" ] || echo "exemplo@hotmail.com|Aberto" >> $lista while : ; do resposta3= resposta3=$( \ dialog --stdout \ --title ''$titulo'' \ --ok-label 'Adicionar' \ --extra-button \ --extra-label 'Remover' \ --cancel-label 'Voltar' \ --menu '' 0 60 16 \ $(cont=0 for llvd in `cat $lista`; do cont=`expr "$cont" + 1` idlvd=`echo "$llvd" | awk -F "|" '{print $1}'` [ -z "$idlvd" ] && idlvd=vazio echo "$cont" "$idlvd" done)) bt="$?" case "$bt" in 0) lvdadding=$( dialog --stdout \ --title 'Adicionar Live ID' \ --ok-label 'Adicionar' \ --cancel-label 'Cancelar' \ --inputbox 'Digite a nova Live ID a ser adicionada:' \ 0 0 ) if [ -z "$lvdadding" ]; then sleep 0 else echo "$lvdadding""|Fechado" >> $lista fi ;; 1) break ;; 3) dialog \ --title 'Confirma exclusão?' \ --yesno "Tem certeza que deseja excluir Live ID de número "$resposta3"? " 0 0 if [ "$?" -ne 0 ]; then sleep 0 else cont=0 [ -e $TMPFILE4 ] && rm $TMPFILE4 for exllvd in `cat $lista`; do cont=`expr "$cont" + 1` if [ "$resposta3" -eq "$cont" ]; then sleep 0 else echo "$exllvd" >> $TMPFILE4 fi done mv $TMPFILE4 $lista fi ;; esac done } Defcateg(){ while : ; do resposta= resposta=$( dialog --stdout \ --title 'Definir categoria dos contatos' \ --ok-label 'Alterar' \ --cancel-label 'Voltar' \ --menu 'Selecione:' 0 0 0 $( for llvd in `cat $lvd`; do cadalvd=`echo $llvd | awk -F "|" '{print $1}'` catlvd=`echo $llvd | awk -F "|" '{print $2}'` echo "$cadalvd $catlvd" done )) [ $? -ne 0 ] && break [ -e $TMPFILE1 ] && rm $TMPFILE1 while : ; do resposta2= resposta2=$( dialog --stdout \ --title 'Categoria para o contato' \ --ok-label 'OK' \ --cancel-label 'Voltar' \ --menu 'Selecione uma categoria para o contato '$resposta'' 0 0 0 1 'Aberto' 2 'Fechado') [ $? -ne 0 ] && break for llvd in `cat $lvd`; do cadalvd=`echo $llvd | awk -F "|" '{print $1}'` catlvd=`echo $llvd | awk -F "|" '{print $2}'` if [ "$cadalvd" = "$resposta" ]; then if [ "$resposta2" -eq "1" ]; then echo ""$cadalvd"|Aberto" >> $TMPFILE1 else echo ""$cadalvd"|Fechado" >> $TMPFILE1 fi else echo "$llvd" >> $TMPFILE1 fi done mv $TMPFILE1 $lvd break done done } Criaacltxt(){ dialog --infobox 'Aguarde... Montando ACLs de conversas' 0 0 [ -e $acls ] && rm $acls touch $acls chmod 777 $acls for contatoin in `cat $lvd`; do lvdin=`echo $contatoin | awk -F "|" '{print $1}'` tplvdin=`echo $contatoin | awk -F "|" '{print $2}'` if [ "$tplvdin" = "Fechado" ]; then seqcontatoex= for contatoex in `cat $lvdex`; do idlvdex=`echo $contatoex | awk -F "|" '{print $1}'` seqcontatoex="$idlvdex $seqcontatoex" done echo "allow $lvdin $seqcontatoex" >> $acls fi done seqcontatoin= for contatoin in `cat $lvd`; do lvdin=`echo $contatoin | awk -F "|" '{print $1}'` seqcontatoin="$lvdin $seqcontatoin" done echo "allow all $seqcontatoin" >> $acls for contatosint in `cat $lvd`; do lvdint=`echo $contatosint | awk -F "|" '{print $1}'` tplvdint=`echo $contatosint | awk -F "|" '{print $2}'` if [ "$tplvdint" = "Aberto" ]; then echo "allow $lvdint" >> $acls fi done echo "allow all groupchat" >> $acls echo "deny all" >> $acls chmod 777 $acls chown nobody $acls } Msnmenu
Instalação do Layer7 e compilação do kernel (automático)
Agenda desenvolvida em Shell Script
fcp (ftp copy) - copia um ou mais arquivos via FTP
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Não to conseguindo resolver este problemas ao instalar o playonelinux (1)
Excluir banco de dados no xampp (1)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta