我正在使用 Fabric 来自动化一些部署工作。下面是我使用的代码示例:
run(f"sudo -H -u www-data bash -c 'rm -r project_name' ")
run(f"sudo -H -u www-data bash -c '/opt/www-data/project-name/bin/pip install -r requirements.txt' ")
run("sudo systemctl stop gunicorn")
run("sudo systemctl start gunicorn")
每次运行每行代码时,终端都会询问我的用户密码,有没有办法让我只输入一次密码?
编辑: 我使用的是 python3,脚本的本质是在不同的用户而不是我自己的用户上运行命令。
更新:
我通过使用“-I”参数运行 Fabric 来实现这一点。
fabric -I deploy
最佳答案
使用 run
并不是实现此目的的理想方法。
fabric.operations.sudo(*args, **kwargs)
是可以用来实现您正在尝试的事情的东西。
请小心 sudo
:)
关于python - Fabric 3 询问 sudo 密码一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52540185/