我想使用Fabric为远程服务器上的用户设置密码。
假设我有一个名为“john”的用户,我想为他设置一个默认密码'123‘。
理想情况下,我想这样做:
run 'passwd john' on remote machine
detect when linux prompts for 'Enter new UNIX password:'
automatically enters the password
detect when linux prompts for 'Retype new UNIX password:'
automatically reenters the password这就是我尝试过的:
result = run('passwd {}'.format(username))这个语句的问题是,当Linux提示输入密码时,“结果”不会被捕获。它只在输入密码之后才返回。
有什么方法可以自动实现这样的交互式提示吗?
发布于 2015-10-12 11:48:10
您可以使用提示符
password = '123'
with settings(prompts={
'Enter new UNIX password: ': password,
'Retype new UNIX password: ': password
}):
run('passwd {}'.format(username))发布于 2015-10-12 11:27:33
您可以使用fexpect进行交互提示。
https://stackoverflow.com/questions/33079865
复制相似问题