Imspector - Manipular ACLS facilmente
Publicado por gelber de arruda junior 17/05/2009
[ Hits: 8.618 ]
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
Avisos de segurança do espaço em uso!
Ajuste Dinâmico do Governador de CPU no Linux
gera saída com substituindo coluna por outra (substr)
Liberação do servidor DNS no firewall
Verifica últimos arquivos criados
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
E a guerra contra bots continua
Tradução do artigo do filósofo Gottfried Wilhelm Leibniz sobre o sistema binário
Conheça o firewall OpenGFW, uma implementação do (Great Firewall of China).
Instalando o FreeOffice no LMDE 6
Anki: Remover Tags de Estilo HTML de Todas as Cartas
Colocando uma opção de redimensionamento de imagem no menu de contexto do KDE
Não consigo acessar os modos de desempenho (0)
Problema com alias usando locate (4)
Criar uma base de reconhecimento de HW no VOL (11)
[Shell Script] Script para desinstalar pacotes desnecessários no OpenSuse
[Shell Script] Script para criar certificados de forma automatizada no OpenVpn
[Shell Script] Conversor de vídeo com opção de legenda
[C/C++] BRT - Bulk Renaming Tool
[Shell Script] Criação de Usuarios , Grupo e instalação do servidor de arquivos samba