Script para controle de usuário no Squid
Atualizado em:
Esse é um script bem útil para controle de cadastro de usuários no squid, que guarda outras informações também, no meu caso o Nome, a Matrícula e o setor.
Crie um diretório chamado 'info_user' em /etc/squid/ para guardar as informações dos usuários.
#!/bin/bash
#################################################
# Script para crar usuários no squid 1.2 #
# Paulo Collares #
# www.paulocollares.com.br #
# 31/08/2011 #
#################################################
squid="/etc/squid/passwd"
squid_info="/etc/squid/info_user"
IP=`ifconfig | grep -E 'inet.[0-9]' | grep -v '127.0.0.1' | awk '{ print $2}'` ;
#faz copia de segurança do arquivo
cp $squid $squid"_bkp"
cp $squid_info $squid_info"_bkp"
############################
#FUNÇÃO PRINCIPAL
############################
principal() {
clear
echo "CONTROLAR USUÁRIOS DE INTERNET"
echo $IP
echo --------------------------------------------------
echo
echo "ESCOLHA A OPCAO"
echo "1. ADICIONAR E ALTERAR USUARIO"
echo "2. ADICIONAR INFORMAÇÕES DO USUARIO"
echo "3. LISTAR INFORMAÇÕES"
echo "0. SAIR "
echo -n "ENTRE COM A OPCAO DESEJADA ==> "
read opcao
echo
case $opcao in
1) Adicionar;;
2) AdicionarInfo;;
3) Listar;;
0) exit;;
*) "Opcao desconhecida. "; echo ; principal ;;
esac
}
############################
#FUNÇÃO ADICIONAR
############################
Adicionar() {
echo "Digite o usuário: "
read USUARIO
if
find $squid -type f | xargs grep "$USUARIO"
then
while true
do
echo "Usuario $USUARIO já existe. Deseja alterar a senha? [s/n] "
read op
if [ $op = "S" ] || [ $op = "s" ] || [ $op = "N" ] || [ $op = "n" ];
then
if [ $op = "s" ] || [ $op = "S" ];
then
htpasswd $squid $USUARIO
echo "[Senha atualizada para $USUARIO]"
read msg
break
else [ $op = "n" ] || [ $op = "N" ];
break
fi
fi
done
else
echo "Nome Completo: "
read NOME
echo "Matricula: "
read MAT
echo "Secretaria/setor: "
read SEC
htpasswd $squid $USUARIO
echo "$USUARIO::$NOME::$MAT::$SEC" >> /etc/squid/info_user
read msg
fi
principal
}
############################
#FUNÇÃO ADICIONARINFO
############################
AdicionarInfo() {
echo "Digite o usuário: "
read USUARIO
if
find $squid -type f | xargs grep "$USUARIO"
then
if
find $squid_info -type f | xargs grep "$USUARIO"::
then
echo "ESTE USUÁRIO JÁ TEM SUAS INFORMAÇÕES REGISTRADAS"
read msg
principal
fi
echo "Nome Completo: "
read NOME
echo "Matricula: "
read MAT
echo "Secretaria/setor: "
read SEC
echo "$USUARIO::$NOME::$MAT::$SEC" >> /etc/squid/info_user
else
echo "ESTE USUÁRIO NÃO EXISTE!"
read msg
principal
fi
principal
}
############################
#FUNÇÃO LISTAR
############################
Listar() {
echo "Digite o usuário: "
read USUARIO
find $squid_info -type f | xargs grep "$USUARIO"
read msg
principal
}
############################
#inicio
############################
principal
Deixe um comentário