Você passa a senha na linha de comando que está executando. Esses provavelmente podem estar visíveis não apenas no seu terminal, mas também por outros usuários emitindo o comando 'ps' (que pode depender da configuração do sistema). E a senha é texto simples.
Eu não sei o Fabric, mas se isso lhe dá a possibilidade de se comunicar com comandos executados via stdin / stdout (como subprocess.Popen()
), então provavelmente seria uma escolha melhor usar isso em vez de 'echo username : senha | ... '.
Além disso, você pode escolher criar o hash de senha em seu script Python (usando o crypt
module e "$ 1 $ XXXXXXXX $" ("X" são caracteres aleatórios) sal) e passe isso para chpasswd -e
. A senha de texto simples nunca será exibida ou registrada.