lordhulk
(usa Ubuntu)
Enviado em 02/03/2009 - 02:10h
mude o shell padrão do usuário em /etc/passwd como exemplo:
suporte:x:1000:1000:suporte,,,:/home/suporte:/usr/local/bin/contrasenha
chame esse script de contrasenha e coloque em /usr/local/bin:
------------------------------INICIO DO SCRIPT---------------------------------------
#!/bin/bash
#contrasenha.
#escrito por Jeferson dos Sandos < jeferson at jeferson.info >
tentativas=3
clear
while : ;
do
#trap "clear ; echo ctrl+c e ctrl +v não permitidos" 2 20
#se quiser senha apenas numerica, use este primeiro e comente o que esta entre
#a marcação abaixo
# contrasenha=$(echo $(($[$RANDOM % 10000]*$[($RANDOM % 10000)] * $[($RANDOM % 10000)])))
#------------------------------------------------------------------------------
gerasenha ()
{
case $1 in
mista)
pass=</dev/urandom tr -dc A-Za-z0-9| (head -c $1 > /dev/null 2>&1 || head -c 8 | tr A-Z a-z)
echo $pass
;;
complexa)
pass=</dev/urandom tr -dc A-Za-z0-9| (head -c $1 > /dev/null 2>&1 || head -c 8)
;;
numerica)
echo $(($[$RANDOM % 10000]*$[($RANDOM % 10000)]))
esac
}
#------------------------------------------------------------------------------
#deixe apenas uma opção ativada:
#gerasenha mista, gera numeros e letras minusculas aleatorias
contrasenha=$(gerasenha mista)
#gerasenha complexa gera numeros e letras maiúsculas e minúsculas
#contrasenha=$(gerasenha mista)
#gerasenha numerica gera apenas numeros
#contrasenha=$(gerasenha numerica)
echo A contra-senha é:
echo -e "{TEXTO}33[33m"$contrasenha"{TEXTO}33[m"
echo por favor, repita-a abaixo
read resposta
if [ "$resposta" = "$contrasenha" ] ;
then
echo contra-senha aceita, acessando o shell
sleep 1
#clear
bash
break
else
let tentativas--
if [ $tentativas = 0 ] ;
then
clear
echo -e "{TEXTO}33[31m" limite de tentativas excedido, abortando... "{TEXTO}33[m"
break
else
clear
echo -e "{TEXTO}33[31m"ERRO: contra-senha incorreta, tentativas restantes:"{TEXTO}33[m" $tentativas
fi
fi
done
-------------------FIM DO SCRIPT---------------------------------------------------------------------
De nada,