Inserindo Senha no loop de supressão

0

O cenário é como se eu tivesse uma lista de senhas root. Mas eu não quero continuar tentando manualmente.   Então eu escrevi o script de shell:

for i in {1..26}

do

su - >>result

done

e todas as minhas senhas estão em um arquivo "attempt.txt".

Agora, no prompt de comando, eu digito o comando:

bash p2.sh < attempt.txt

Mas mostra erros: " Padrão deve ser um tty"

Então, há alguma maneira de inserir essas senhas por meio de alguns códigos ou comandos sem digitar cada um deles? Por favor, diga uma abordagem de linha de comando em vez de algum software utilitário avançado. Estou nisso para aprender. Obrigado :)

    
por Dhruv Chandhok 09.04.2014 / 12:33

1 resposta

1

A sintaxe correta é esta:

 while read my_pass
 do 
        echo $my_pass | sudo -S command
 done < file_name

Três comentários: você não pode usar su dentro de um arquivo de script, você precisará usar sudo com a opção -S que, de acordo para o homem,

The -S (stdin) option causes sudo to read the password from the standard input instead of the terminal device.

Segundo, se você não gosta de escrever o nome_do_arquivo dentro do script, use um dos argumentos $ n, como $ 1 se for o único parâmetro passado.

Em terceiro lugar, você tem certeza de que coletar todas as suas senhas em um único arquivo não criptografado é uma boa ideia?

    
por 09.04.2014 / 13:39