Usando dialog para adiciona usuários no squid

Publicado por Vinícius Silva Teixeira 31/10/2005

[ Hits: 6.658 ]

Download adduser




Ae galera!
É o seguinte! Eu tive q instala o squid com autenticação aqui na empresa onde trabalho....e eu tava tendo uma certa dificuldade (mão de obra)....na hora que eu ia adiciona um usuário com permissão total ou parcial!
Dai escrevi o meu primeiro shell usando dialog para adicionar os usuários.
Qualquer dica, sugestão ou comentário....postem por favor!
Vlw!

  



Esconder código-fonte

#!/bin/sh
#Vinicius Silva Teixeira - [email protected]

while : ; do
   
opcao=$(dialog               \
--stdout                  \
--menu 'MENU PRINCIPAL'            \
0 0 0                  \
1 'ADICIONA UM USUÁRIO COM PERMISSÃO TOTAL.'      \
2 'ADICIONA UM USUÁRIO COM PERMISSÃO PARCIAL.'   \
3 'ALTERA A SENHA DE USUÁRIO (QUALQUER PERMISSÃO).'   \
4 'LISTAR USUÁRIOS COM PERMISSÃO TOTAL.'      \
5 'LISTAR USUÁRIO COM PERMISSÃO PARCIAL.'      \
0 'SAIR')                  \
    
case "$opcao" in
1)   nome=$(dialog   \
--stdout         \
--title 'USUÁRIO MASTER'   \
--inputbox 'INFORME O NOME:'    \
0 0)
if cat /usr/local/squid/etc/passwd | grep "$nome:" 1>/dev/null 2>/dev/null;
then
dialog            \
--title 'ERRO'         \
--msgbox 'USUÁRIO JÁ CADASTRADO.'   \
0 0
else
senha=$(dialog         \
--stdout            \
--title 'SENHA MASTER'      \
--passwordbox 'INFORME A SENHA:'   \
0 0)               
htpasswd -b /usr/local/squid/etc/passwd "$nome" "$senha"
echo "$nome" >> /usr/local/squid/etc/listas/auto
dialog               \
--title 'CONFIRMAÇÃO'         \
--msgbox 'USUÁRIO CADASTRADO COM SUCESSO!'   \
0 0                     
fi
;;
2)    nome=$(dialog      \
--stdout            \
--title 'USUÁRIO SLAVE'       \
--inputbox 'INFORME O NOME:'       \
0 0)
if cat /usr/local/squid/etc/passwd | grep "$nome:" 1>/dev/null 2>/dev/null;
then
dialog            \
--title 'ERRO'         \
--msgbox 'USUÁRIO JÁ CADASTRADO.'   \
0 0
else
senha=$(dialog         \
--stdout            \
--title 'SENHA SLAVE'         \
--passwordbox 'INFORME A SENHA:'   \
0 0)
htpasswd -b /usr/local/squid/etc/passwd "$nome" "$senha"
echo "$nome" >> /usr/local/squid/etc/listas/noauto
dialog               \
--title 'CONFIRMAÇÃO'         \
--msgbox 'USUÁRIO CADASTRADO COM SUCESSO!'   \
0 0
fi
;;
3)   nome=$(dialog         \
--stdout               \
--title 'TROCA DE SENHA'         \
--inputbox 'INFORME O NOME DO USUÁRIO:'   \
0 0)
if cat /usr/local/squid/etc/passwd | grep "$nome:" 1>/dev/null 2>/dev/null;
then
senha=$(dialog         \
--stdout            \
--title 'NOVA SENHA'         \
--passwordbox 'INFORME A SENHA'   \
0 0)
htpasswd -b /usr/local/squid/etc/passwd "$nome" "$senha"
dialog                  \
--title 'CONFIRMAÇÃO'            \
--msgbox 'SENHA DO USUÁRIO ALTERADA COM SUCESSO!'   \
0 0
else
dialog            \
--title 'ERRO'         \
--msgbox 'USUÁRIO NÃO EXISTE!'   \
0 0
fi
;;
4)   rm total
tail -f /usr/local/squid/etc/total > total &
dialog               \
--backtitle 'USUÁRIOS COM PERMISSÃO TOTAL'   \
--title 'USUÁRIOS'            \
--tailbox auto            \
0 0
;;
5)   rm parcial
tail -f /usr/local/squid/etc/parcial > parcial &
dialog               \
--backtitle 'USUÁRIOS COM PERMISSÃO PARCIAL'   \
--title 'USUÁRIOS'            \
--tailbox noauto            \
0 0
;;
0)   sair=$(dialog    \
--stdout         \
--yesno 'VOCE DESEJA SAIR?'   \
0 0)         \
&& exit
                    
                    
esac
done
exit

Scripts recomendados

Kronos - Sincronização de arquivos remotos

GNU - que bacana

Barra de progresso em ASCII

Remover e-mails com MX inexistente e status deferred em servidores Postfix

AutoLogin Slackware Current - Init 3


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts