Imspector - Manipular ACLS facilmente
Publicado por gelber de arruda junior 17/05/2009
[ Hits: 8.760 ]
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
Script de Backup para FITA DAT usando "tar"
Conexão Remota Linux No Windows
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
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
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Tem como instalar o gerenciador AMD Adrenalin no Ubuntu 24.04? (15)
Tenho dois Link's ( IP VÁLIDOS ), estou tentando fazer o failover... (0)
Pendrive não formata de jeito nenhum (4)