繁体   English   中英

python fabric run()sudo命令而不提示输入密码

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM