Imspector - Manipular ACLS facilmente
Publicado por gelber de arruda junior 17/05/2009
[ Hits: 9.146 ]
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
Compara igualdade entre arquivos
Zentheme-Install - Instala e desinstala temas usando interface gráfica
Bloqueia ataques do tipo bruteforce
Compilação de módulos para VMware 12.5.7 no Fedora 26
Fscrypt: protegendo arquivos do seu usuário sem a lentidão padrão de criptograr o disco
Faça suas próprias atualizações de pacotes/programas no Void Linux e torne-se um Contribuidor
Como rodar o Folding@home no Linux
Criando um painel de controle (Dashboard) para seu servidor com o Homepage
O Abismo entre o Código e o Chão: Saltos Tecnológicos e a Exclusão Estrutural no Brasil
Utilizando a Ferramenta xcheckrestart no Void Linux
Pisando no acelerador do Linux Mint: Kernel XanMod, zRAM e Ajustes de Swap
Como compilar kernel no Linux Mint
Abrir um arquivo URL pelo Clipper (8)
Seno, Coseno, Tangente em CLIPPER (1)
Inserir uma URL num arquvo pelo Ubuntu (CLIPPER) (0)
VMWare Player não conecta na rede nem consigo intercambiar arquivos (1)









