Imspector - Manipular ACLS facilmente
Publicado por gelber de arruda junior 17/05/2009
[ Hits: 8.815 ]
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 q ue cria uma galeria de imagens
POSTFIX AUTOMÁTICO COM MYSQL E IPTABLES - DESBLOQUEAR IP
Usando netstat para verificar conexões e portas
Administrar squid com autenticação, simples e objetivo.
Instalar e Configurar o Slackware Linux em 2025
Como configurar os repositórios do apt no Debian 12 em 2025
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Como colorir os logs do terminal com ccze
Instalação Microsoft Edge no Linux Mint 22
Como configurar posicionamento e movimento de janelas no Lubuntu (Openbox) com atalhos de teclado
Máquinas Virtuais com IP estático acessando Internet no Virtualbox
Criar entrada no GRUB para uma ISO Linux (7)
Open Suse não abre wi-fi automaticamente (3)
Ruído no Microfone (ALC287 - AMD Ryzen 5 7535HS) no Debian 12.9 (15)