[shell-script] Asteriscos ao digitar senha

2007-11-13 Por tôpico Info Suporte - Rodrigo Nery

Olá pessoal,

Existe alguma forma de substituir uma senha digitada por asteriscos
no momento da leitura? Tenho lido senhas do modo abaixo, porém gostaria de
melhorá-lo no sentido de que o usuário possa ver quantos caracteres digitou
pelo número de asteriscos e se errou na quantidade saiba quando parar de
pressionar o backspace.

echo "Informe a senha: [  ]"
echo "\033[1;20H\c" # posicionamento no campo
stty -echo
read pass
stty echo

Obrigado!
Rodrigo


Re: [shell-script] Asteriscos ao digitar senha

2007-11-13 Por tôpico Flavio Junior
Bom..
escrevendo assim sem mta paciencia pra por em script e tal, isso pode
ajudar vc a montar a ideia:

$ unset PASS KEY; while [ "$KEY" != "exit" ]; do read -sn1 pass; if [
"$(tr '\n' '@' <<< $pass)" != "@" ] && [ "$(cat -vet <<< $pass)" !=
"^H" ]; then PASS=${PASS}${pass}; echo -n '*'; else KEY=exit; fi; done


Eu concordo q ta feio, mas eu nunca fui de escreve codigo bunito :)

Ai so falta tu adicionar algo pra limpar o backspace (pode usar um
echo -en '\b' por exemplo) e tirar o ultimo valor da variavel com:
echo -en $PASS'\b'


ACho que da pra montar com essas ideias...


Flávio do Carmo Júnior

On Nov 13, 2007 10:54 AM, Info Suporte - Rodrigo Nery
<[EMAIL PROTECTED]> wrote:
>
>
>
>
>
>
>
>  Olá pessoal,
>
>  Existe alguma forma de substituir uma senha digitada por asteriscos
>  no momento da leitura? Tenho lido senhas do modo abaixo, porém gostaria de
>  melhorá-lo no sentido de que o usuário possa ver quantos caracteres digitou
>  pelo número de asteriscos e se errou na quantidade saiba quando parar de
>  pressionar o backspace.
>
>  echo "Informe a senha: [ ]"
>  echo "\033[1;20H\c" # posicionamento no campo
>  stty -echo
>  read pass
>  stty echo
>
>  Obrigado!
>  Rodrigo
>  


[shell-script] script para proxy

2007-11-13 Por tôpico voyeg3r
Certa vez publiquei um script para configuração de proxy, gostaria de
uma otimização para que o script passe a ter um menu, usando case

  1) configurar o proxy (se estiver configurado mostrar dados)
  2) zerar configuração do proxy
  3) atualizar lista de pacotes
 
Obs: a idéia de zerar as configurações é porque às vezes atualizo
máquinas aqui na empresa e quando os usuários levam os micros pra casa 
as configurações de proxy lhes atrapalham nas atualizações


meu script atualmente esta assim:
###

#!/bin/bash
# script para ativar o apt via proxy
# Criado: Sex 09/Fev/2007 hs 13:50
# Last Change: Ter 13 Nov 2007 07:18:23 BRT
# Autor: Sergio Luiz Araujo Silva
#
# Serao editados os arquivos
# /etc/profile
# /etc/bashrc
# /etc/apt/apt.conf
# /etc/environment

clear
echo " "
echo "  =="
echo " Script para configuracao do apt via proxy"
echo "  =="
sleep 1


if  [ "$(id -u)" != "0" ];  then
  echo
  echo "  Este script precisa ser executado como root"
  echo "  Faça login como root e tente novamente"
  sleep 3
  clear
  exit  1
fi


# estas linhas serão executadas caso o proxy já esteja configurado
# ===
if cat /etc/profile | grep "\(http_proxy\|ftp_proxy\)" > /dev/null; then
   echo "   O proxy ja esta configurado em /etc/profile"
   echo "   Os valores sao: "
   echo
   cat /etc/profile | grep "\(http_proxy\|ftp_proxy\)"
   sleep 4
   clear
   exit 1
fi
# ===


# as linhas abaixo pegam os dados necessários para configurar o seu proxy
echo
read -p "   O proxy necessita usuario e senha?  [s/N] " proxysenha
proxysenha=$(echo $proxysenha | tr [[:upper:]] [[:lower:]] | cut -c1)

   if [ "$proxysenha" = "s" ]; then
 read -p "   Digite o nome do usuario para o proxy: " usuario
 read -p "   Digite a senha para o proxy: " senha
   fi

   read -p "   Digite o ip do servidor proxy: " ip_servidor
   read -p "   Digite a porta do proxy: " porta
   echo

   if [ "$proxysenha" = "s" ]; then
  PROXY="${usuario}:[EMAIL PROTECTED]:${porta}"
   else
  PROXY="${ip_servidor}:${porta}"
   fi


# configuração do /etc/profile
cat <<-EOF >> /etc/profile

http_proxy="http://${PROXY}";
ftp_proxy="http://${PROXY}";
export http_proxy ftp_proxy
EOF

# configuração do /etc/apt/apt.conf
cat <<-EOF >>  /etc/apt/apt.conf

Acquire {
HTTP::PROXY=${PROXY};
FTP::PROXY=${PROXY};
}
EOF


# Configuracao do /etc/environment
cat <<-EOF >> /etc/environment

http_proxy="http://${PROXY}";
ftp_proxy="http://${PROXY}";

Acquire {
HTTP::PROXY=${PROXY};
FTP::PROXY=${PROXY};
}

alias wget="wget -Y on"

EOF

## se o proxy tiver senha o wget tem que ter senha também
if [ "$proxysenha" = "s" ]; then
# configuracao do wget
cat <<-EOF >> /etc/bashrc

alias wget="wget --proxy-user=${usuario} --proxy-passwd=${senha}"
EOF

fi

echo
echo "   1 - Feche o konsole atual"
echo "   2 - Abra um novo terminal e"
echo "   3 - Rode o apt-get update como root"
echo
sleep 2
exit

# como exportar as variáveis para a seção atual?








[shell-script] apagar linhas de arquivo

2007-11-13 Por tôpico Douglas Brito Damalio
Olá pessoal!!

eu escrevo a seguintes linhas num script shell que cria usuários ftp num 
servidor web:

echo ":80>" >> virtualhost.conf
echo "DocumentRoot \""$diretorio"\"" >> virtualhost.conf
echo "ServerName www."$site"..br" >> virtualhost.conf
echo "" >> virtualhost.conf
echo "#Desabilita modulos de TRACE e TRACK" >> virtualhost.conf
echo "RewriteEngine On" >> virtualhost.conf
echo "RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)" >> virtualhost.conf
echo "RewriteRule .* - [F]" >> virtualhost.conf
echo "RewriteRule ^(.*).asp$ /\$1.php [L,NC]" >> virtualhost.conf
echo "" >> virtualhost.conf
echo "" >> virtualhost.conf
echo "/etc/init.d/httpd restart"


tenho uma função no script que remove um usuário selecionado!!

Como eu poderia remover as linhas inseridas? O problema é que as linhas que tem 
um padrão que eu utilizo são as seguintes

echo "DocumentRoot \""$diretorio"\"" >> virtualhost.conf

echo "ServerName www."$site"..br" >> virtualhost.conf



Ass.: Douglas Brito Damalio




  Abra sua conta no Yahoo! Mail, o único sem limite de espaço para 
armazenamento!
http://br.mail.yahoo.com/

[As partes desta mensagem que não continham texto foram removidas]