Como escrever automaticamente na shell?

1. Como escrever automaticamente na shell?

Matth
MattF

(usa Slackware)

Enviado em 26/04/2015 - 16:22h

Por exemplo, eu faço um script que abre um programa que exige senha(tudono terminal). Queria que meu script entrasse automaticamente com a senha, "escrevesse e desse o enter para mim". Isso é possível?


  


2. Re: Como escrever automaticamente na shell?

Ton Melo
IZhaq_Melo

(usa FreeBSD)

Enviado em 27/04/2015 - 12:24h

MattF escreveu:

Por exemplo, eu faço um script que abre um programa que exige senha(tudono terminal). Queria que meu script entrasse automaticamente com a senha, "escrevesse e desse o enter para mim". Isso é possível?


o que o script faz em si?

quem pede senha geralmente são um duas situações distintas:

1) elevar privilegios para usuário administrador ( root )

ou

2) ter acesso a recursos externos como outros computadores como ssh.

favor informar qual dos recursos voce precisa acessar.




3. Re: Como escrever automaticamente na shell?

Matth
MattF

(usa Slackware)

Enviado em 28/04/2015 - 01:07h

IZhaq_Melo escreveu:

MattF escreveu:

Por exemplo, eu faço um script que abre um programa que exige senha(tudono terminal). Queria que meu script entrasse automaticamente com a senha, "escrevesse e desse o enter para mim". Isso é possível?


o que o script faz em si?

quem pede senha geralmente são um duas situações distintas:

1) elevar privilegios para usuário administrador ( root )

ou

2) ter acesso a recursos externos como outros computadores como ssh.

favor informar qual dos recursos voce precisa acessar.



Então meu amigo, primeiramente obrigado por dispor sua ajuda.
Não é nenhumadas duas ocasiões. Por meio de um scrip eu executo um aplicativo (pelo terminal e um aplicativo que rode somente no terminal). O comando de execução para essa aplicação é: [aplicativo] --[atributo] (arquivo)

Poderíamos considerarcomo um comando qualquer, ou até mesmo a execução de um script que pessa uma senha. Como eu fasso para ele ver um trecho de código e "escrever e dar enter para mim", entrando o usuário e senha, afinal, se isso é possível.





4. Re: Como escrever automaticamente na shell?

Rafael Miranda
Rafael Miranda

(usa Slackware)

Enviado em 28/04/2015 - 01:53h

Se for realmente isso que eu entendi, trata-se dos comandos de redirecionamentos ">" , ">>", "<", "<<".
Vc pode armazenar a "resposta" em um arquivo e utilizar o redirecionamento. Ex:
script.sh < cat senha.txt
Obs: Dentro do arquivo senha.txt vc armazena a senha

No seu arquivo de script vc testa o parâmetro. Ex:
case "$1" in
"help" scripthelp;;
"normal" scriptnormal;;
*) normal;;
esac



5. Re: Como escrever automaticamente na shell?

Matth
MattF

(usa Slackware)

Enviado em 28/04/2015 - 02:17h

Rafael Miranda escreveu:

Se for realmente isso que eu entendi, trata-se dos comandos de redirecionamentos ">" , ">>", "<", "<<".
Vc pode armazenar a "resposta" em um arquivo e utilizar o redirecionamento. Ex:
script.sh < cat senha.txt
Obs: Dentro do arquivo senha.txt vc armazena a senha

No seu arquivo de script vc testa o parâmetro. Ex:
case "$1" in
"help" scripthelp;;
"normal" scriptnormal;;
*) normal;;
esac




Acredito que você não entendeu. TIpo assim: Eu crio um scrip que pede uma senha e eu devo entrar com essa senha para ver alguma coisa. Se eu executasse esse script sozinho no termianal ele pediria a senha e motraria alguma coisa se eu digitasse a senha correta no terminal. Suponha agoraque eu quero automatizar o processo, abrindo esse script da senha e colocando automaticamente a senha sem que eu precisasse digitar. Tipo, um script que quando executado mostrasse diretamente a coisa, acessando o script da senha. Isso pode ser feito?


6. .12

Ton Melo
IZhaq_Melo

(usa FreeBSD)

Enviado em 28/04/2015 - 12:48h

MattF escreveu:

Rafael Miranda escreveu:

Se for realmente isso que eu entendi, trata-se dos comandos de redirecionamentos ">" , ">>", "<", "<<".
Vc pode armazenar a "resposta" em um arquivo e utilizar o redirecionamento. Ex:
script.sh < cat senha.txt
Obs: Dentro do arquivo senha.txt vc armazena a senha

No seu arquivo de script vc testa o parâmetro. Ex:
case "$1" in
"help" scripthelp;;
"normal" scriptnormal;;
*) normal;;
esac




Acredito que você não entendeu. TIpo assim:
Eu crio um scrip que pede uma senha e eu devo entrar com essa senha para ver alguma coisa.

Se eu executasse esse script sozinho no termianal ele pediria a senha e motraria alguma coisa se eu digitasse a senha correta no terminal. Suponha agoraque eu quero automatizar o processo, abrindo esse script da senha e colocando automaticamente a senha sem que eu precisasse digitar. Tipo, um script que quando executado mostrasse diretamente a coisa, acessando o script da senha. Isso pode ser feito?


nossa como isso ta abstrato.

vamos para parte prática talvez isso ajuda.

Eu crio um scrip que pede uma senha

R: voce tereia que usar alguma api o Kernel não oferece isso como padrão o que voce pode fazer é abrir um caixa de diálogo solicitando algo, mas ao mesmo tempo a senha vai estar no scrip, não seria nada seguro usar uma aplicação assim.
exemplo: http://www.planetaunix.com.br/2015/01/criando-caixas-de-dialogo-em-shell.html


Se eu executasse esse script sozinho no termianal ele pediria a senha e motraria alguma coisa se eu digitasse a senha correta no terminal.

R: não entendi nada dessa parte, seja mais claro, o que significa EXECUTAR SOZINHO? de forma automática? sei la agendando no CRon??? o que exatamente?
Como eu disse no terminal não tem algum implementando assim PADRÃO da pra usar um Textbox como mostro no link acima, mas mesmo assim a verificação esta restrita a testo não criptografados ou mesmo sem compilação, em resumo sem segurançã nenhuma.


Suponha agoraque eu quero automatizar o processo, abrindo esse script da senha e colocando automaticamente a senha sem que eu precisasse digitar. Tipo, um script que quando executado mostrasse diretamente a coisa, acessando o script da senha. Isso pode ser feito?

R: isso da pra fazer com whiptail:


#!/bin/bash #cabeçalho padrao de script
senha=$(whiptail --title "Check Password" --passwordbox "Digite sua senha e escolha OK para continuar." --fb 10 50 3>&1 1>&2 2>&3)
status=$? #condições assertivas de senhas, cabeçalho do tipo de ms de dialogo, tipos de dados aceitos no campo etc.

#tomada de decisão,
if [ $status = 0 ]; then
echo "A senha digitada foi: $senha" #caminho A se a senha tiver Correta..|
else
echo "Entrada cancelada." #caminho B se a senha tiver INCorreta..|
fi


nao entendi exatamente o que voce quer com esse script porém tente ser mais claro, use exemplo que existam na vida real mesmo que não sejam da área técnica pode algo algo que a maioria das pessoas conhece, fica mais facil estabelecer um diálogo dessa forma.


7. Re: Como escrever automaticamente na shell?

Denilson Pereira
Denilson-Pereira

(usa Debian)

Enviado em 28/04/2015 - 14:34h

Eu acho que ele está querendo saber como ele faz para criar programas via Shell Script, incluindo:
· Programas com senha
· Programas que gravam a senha para entrar sozinhos (imagino que só se o usuário marcar para fazer isso no login)
· Programas que pedem senhas para executar algumas funções mais importantes do próprio programa e não do sistema Linux em si
· E provavelmente um link que tenha um tutorial ou manual ou livro pdf gratuito ensinando a fazer tudo isso.



8. Re: Como escrever automaticamente na shell?

Matth
MattF

(usa Slackware)

Enviado em 28/04/2015 - 18:57h


Pessoal, eu quero virtualizar uma entrada do teclado quando determinada sequência de caracteres aparecer no terminal. Imagina uma aplicação qualquer que pedisse senha e usuário. Eu quero saber se existe algum meio de se criar um script que quando executado rodasse a aplicação(isso é fácil, certo?). Quando aparecece no terminal, porque a aplicação não é gráfica, é só no terminal; a sequência: "Usuário:" por exemplo, o script lesse e automaticamente virtualizasse uma entrada do teclado sem que o usuário precisasse digitar.

Daí adiante continua normal a execução dessa aplicação. Acho que isso poderia ser feito de alguma forma pelo expect, mas não o conheço e não sei usar porque por enquanto eu só preciso fazer isso. É como se este script, que abre a aplicação, esperasse até determinada informação ou parte do script original da aplicação fosse requisitada, aí ele pulava desse para uma virtualização deteclado ou outro método que entrasse automátimamente com a informação.


Citei a parte da senha e usuário só como exemplo.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts