[英]python fabric run() sudo command without prompting for a password
我有这个 python 织物 fabfile。 我想在不提示输入密码的情况下运行 sudo 命令。 想将密码保存在文件中。 Fabric3 不再支持观察者选项吗? 有什么办法可以将密码放入脚本中吗?
from fabric.api import *
from invoke import Responder
env.user = "usera"
env.password = "password"
env.sudo_user = "usera"
env.password = "password"
env.sudo_prompt = "Password:"
sudopass = Responder (
pattern=r'Password:',
response=env.password + '\n'
)
def itm_run ():
# result = run("sudo systemctl restart S99itm", pty=True, watchers=[sudopass])
result = run("sudo systemctl restart S99itm")
print(result)
观察者仍在工作,否则请检查您的模式。 您还可以添加echo=True
。
对于密码,最好将其保存在 env 变量等中。 所以你可以做env.password = getenv('SOMEHOST_SOMEUSER_PASSWORD')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.